自作AppleScriptアプリを多言語化する方法

2013年4月12日

AppleScriptアプリだって多言語化できる!

AppleScriptを使えば比較的容易にアプリを作ることができますが、XcodeとObjective-Cを利用したアプリ開発と違い多言語化(英語環境では英語に、日本語環境では日本語にアプリ内のテキストを切り替えること)ができない物と思っていました。

しかしインターネットを徘徊していたら案外簡単に多言語化できることが判明しましたので、備忘録としてやり方を書いておこうと思います。

AppleScriptを利用した自作アプリの配布に役に立つかもしれません。

Localizable.stringsファイルを置くためのフォルダを言語ごとに作る

「そのラベルはこの言語ではこう変換される」というルールを「Localizable.strings」ファイルに言語ごとに記載し、しかるべき場所に配置すれば多言語化されます。

まず英語と日本語の「Localizable.strings」ファイルを保存するためのフォルダを作りましょう。

「多言語化したいアプリ.app/Contents/Resources/」フォルダ内に「言語名.lproj」というルールでフォルダを作ります。

how_to_localize1

例えば英語のローカライズファイルを置くフォルダ名は「English.lproj」、日本語の場合は「Japanese.lproj」となります。

Localizable.stringsファイルをローカライズしたい言語ごとに作る

前項で英語と日本語の「Localizable.strings」ファイルを置く場所を作れたので、今度は「Localizable.strings」ファイルの作り方を説明します。

適当なテキストエディタ(CotEditorがお勧め)を起動しテキストエンコーディングを「UTF-8」にして新規ファイルを作成します。

how_to_localize2

「Localizable.strings」ファイルの書き方のルールは以下の通り

"ラベル" = "ローカライズテキスト";

例えば

"CONTINUE" = "続けてもよろしいですか?";

という具合です。

AppleScript内でローカライズしたテキストを呼び出す記述方法

上記二つの下準備ができたならいよいよAppleScript内からローカライズテキストを呼び出します。

localized string "ラベル"

という風に記述します。

how_to_localize3

ローカライズテキストを変数に入れないでそのまま使いたい場合()で囲む必要があります。

しっかり多言語化できたか確認するためにはApp Language Chooserが便利です。