多言語対応

MonoTouchアプリを多言語対応する。

  1. プロジェクト直下に"言語名".lporjフォルダを作成する。
  2. 作ったフォルダにLocalizable.stringsファイルを作成する。

フォルダの例

en.lproj
ja.lproj

フォルダ名はen_US.lprojやja_JP.lprojも使える?

Localizable.stringsの内容は

  • 一項目は "キー" = "バリュー";
  • 行末のセミコロンは必須
  • "//"で始まる行はコメント
  • キーに使える文字は英数字のみ?
  • ファイルの文字コードUTF-8にすること
  • ファイルの改行コードはLF

Localizable.stringsの例

// コメント行
"Cancel" = "キャンセル";
"Error" = "エラー";

実際コードで使うとき

string txt = NSBundle.MainBundle.LocalizedString("Cancel", "", "");

存在しないキーを指定するとキー文字列そのものが返ってくる。

グルーピング等もできるはず。