多言語対応のメッセージ表示

インストーラーを作成する必要が出てきたのでググってみたところ,Inno Setup が好評だったのでこれを使ってみました.スクリプトGUI ベースで生成できる ISTool を併用していますが,なかなか快適に書けています.

その中で,どうやるのか分かりにくかったのが出現させるメッセージの多言語対応.Custom Messages と言うタブでメッセージの定義をするのだろうと言う事は分かるのですが,どうやって言語毎にメッセージを切り替えるのかが分かりませんでした.どうやら,. と言う記述で ID を定義するようです.

例えば,ISTool のウィザードを使って対応言語に「英語」と「日本語」を指定すると,以下のような言語定義が生成されます.

これに対して,hello と言うメッセージを定義する方法は以下のようになります.

最後に,確認するためのスクリプトをコードタブ([Code] セクション)に記述します.

function InitializeSetup: Boolean;
begin
    MsgBox(CustomMessage('hello'), mbInformation, MB_OK);
    Result := False;
end;

これをコンパイルして「日本語」を選んで実行すると,以下のようなダイアログが表示されます.