MUI の初めに

MUI(Multilingual User Interface)とは?

MUI は Multilingual User Interface の略で、特に Windows 環境での多言語ユーザーインターフェイスを指します。簡単に言えば、Windows が提供する MUI という仕組みを利用することで、開発者や翻訳者はテキストなどのローカライズが非常に簡単にできるようになります。

MUI のすばらしさ

MUI の素晴らしいところは、リソースを含むファイルを適切に用意し、適切な場所に配置すれば、以下のようなごく普通のコードで多言語対応ができてしまう点です。

(エラー処理は省略しています)

#include <Windows.h>

#define IDS_APP_TITLE 103
#define MAX_LOADSTRING 100

int APIENTRY wWinMain(HINSTANCE hInstance, HINSTANCE, LPWSTR, int)
{
	WCHAR szTitle[MAX_LOADSTRING];
	LoadStringW(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING);
	MessageBoxW(nullptr, szTitle, L"Hello, MUI!", MB_OK);
}

実際に行っていること

このコードが実行しているのは次の2つのステップだけです。

  1. リソースを含むファイルへのハンドルを取得する

  2. そのハンドルに対してリソースを取得する

言語の指定や言語の分岐などは一切行っていません。これらはすべて Windows が自動的に処理してくれます。

コードの補足をすると、リソースを含む実行ファイルのハンドル hInstance を使っていますが、LoadLibraryEx などで外部の EXE や DLL のハンドルを取得しても OK です。

またリソースの取得は LoadStringW を使っていますが、これも LoadBitmap など他のリソース取得系の API でも OK です。

いずれにせよ言いたいことは、シンプルなコードで多言語対応できるってことです。

まとめ

MUI を活用することで、開発者は言語設定に悩むことなく、簡単なコードで多言語対応のアプリケーションを作成することができます。Windows が提供するこの仕組みを使えば、国際化のハードルが大きく下がるので効率的に開発することができます。

ですが…???

次回に続く…

この記事が気に入ったらサポートをしてみませんか?