おいちゃんのおぼえがき

仕事のTipsをメモするブログ

リソースのローカライズ

2009-02-23 | Mac
XCodeで新規プロジェクトを作成すると、デフォルトでは英語版ターゲットのみが生成されるので、日本語版ターゲットはローカライズによって生成する。
まず、「グループとファイル」の「Resources/MainMenu.xib」から「English」 ファイルを選択し「情報を見る」で情報ダイアログを開く。
情報ダイアログの下部にある「ローカリゼーションを追加」をクリックし、「Japanese」として日本語用リソースファイルを生成する。これで英語版をもとにした MainMenu.xib ファイルが Japanese.lproj 下にコピーされるので、この xib ファイルを Interface Bulder で開いて、英語表記を日本語表記に書き換える。
ただしアプリケーション名のローカライズはここではできない。
アプリケーション名のローカライズは、Resource/InfoPlist.string/English に対して上記と同様にしてローカリゼーションを追加し、生成された Japanese ファイル内に下記の行を入力する。

CFBundleName = "日本語アプリ名";

その後、InfoPlist を開き、リスト右のボタンをクリックして Key の追加で「Application has localized display name」にチェックを入れる。

定数文字列のローカライズは Localizable.strings ファイルと NSLocalizedString を使う。
プロジェクトウインドウで「新規ファイル」から「Other」の「strings file」を選び、「Localizable.strings」の名前で保存する(この時、アタマの「L」は大文字。これで2日はまった・・・)。
その後、「情報を見る」でファイルをローカライズ可能にし、ローカライズの追加で Japanese を追加してその中に "" = ""; の形式で記述する。
参照する側では、文字列を直接記述している部分を NSLocalizedString(@"", @"") に差し替える。