ページ

2009年3月25日水曜日

ローカライズ(その8)

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク

ibtool を使ってマージを試してみる。

※以下、拡張子が xib だが Nibファイルと統一して呼ぶ。またターミナルの操作はすべてXcodeプロジェクトのフォルダ内で行った。

1. まず修正を入れる前に最後のバージョンをコピーしておく。ここでは old フォルダへ English.lproj と Japanese.lproj をコピーする。

$ mkdir old
$ cp -pr English.lproj old
$ cp -pr Japanese.lproj old
$ ls old
English.lproj MainMenu.strings MainMenu.xib
$



2. コピーしたら Nibファイルに修正を加えてみる。ここでは Interface Builder で英語の Nibファイルにラベル "Hello !" を追加する。



3. 英語の Nibファイルから文字列を抽出する。
ibtool --generate-stringsfile Japanese.lproj/MainMenu.strings \
English.lproj/MainMenu.xib


ラベル "Hello !" が最後に追加されている。文字列を再生成したので前回翻訳した "Japan"は英語に戻っている。


4. このファイルを編集して "Hello !"の行だけ残すようにする。



5. 準備ができたのでマージしてみよう。ADCページの例を参考にして用意した下記のコマンドを実行する。

ibtool --previous-file        old/English.lproj/MainMenu.xib  \
--incremental-file old/Japanese.lproj/MainMenu.xib \
--strings-file Japanese.lproj/MainMenu.strings \
--write Japanese.lproj/MainMenu.xib \
--localize-incremental \
English.lproj/MainMenu.xib



6. 日本語の Nibファイルを Interface Builder で開いてみる。


おお、"Hello" が "こんにちは"に置き換わっている。ただラベルサイズが不足しているので途中で切れている。

7. 手動でサイズを拡張してやる。



8. 最後にXcodeでビルドして実行してみる。


出た。