katokichi さんより nib(xib) についてローカライズの情報をもらった。
2008/11/6 iPhone SDK勉強会 まとめ
http://iphone-dev.jp/modules/pico/index.php?content_id=9
UIをローカライズする手順
http://d.hatena.ne.jp/uasi/20081115/1226676887
なるほど ibtool というツールを使うと文言の翻訳だけで対応できるらしい。
他にもいくつか解説ページがあった。
ibtoolによるnibファイルのローカライズ
http://www.fraction.jp/log/archives/2008/01/23/localize_nib_file_with_ibtool
試してみよう。
(1) ターミナルを開き、Xcodeのプロジェクトディレクトリへ移動する。
(2) ibtool を実行する。
ibtool --generate-stringsfile English.lproj/MainMenu.nib.strings English.lproj/MainMenu.nib
すると English.lproj フォルダ配下に MainMenu.nib.strings が生成される。
(3) Xcodeプロジェクトへ追加する。
コンテキストメニューで追加するか、ドラッグ&ドロップで生成されたファイル MainMenu.nib.string をプロジェクトへ追加する。
この時、エンコーディングを Unicode(UTF-16)にしておく。
そうでないとこんな感じで化け化けになる。
(4) このファイルにさらにローカライズを追加する。追加するのは "Japanese"。
"MainMenu.nib.string"の上でコンテキストメニューを表示し「情報を見る」でダイアログを開く。ここで画面下の「ローカリゼーションの追加」ボタンを押す。
ファイルの中身はこんな感じ。
(5) 少し書き換えてみる。
(6) nibを生成する前に MainMenu.nib にローカリゼーション"Japanese"を追加しておく。
(7) さて書き換えたファイルを元に nibファイルを生成する。
ibtool --write Japanese.lproj/MainMenu.nib -d Japanese.lproj/MainMenu.nib.strings English.lproj/MainMenu.nib
ターミナルで実行。
Japanese.lproj フォルダを見ると MainMenu.nibが生成されている。
(8) ビルドして実行する。
さてどうだろう。
おお出た。
- - - -
この辺りの一連の作業はビルドに組み込んで自動化できるらしい。後で試してみよう。
それにしても量が多い。。