.strings の内容を自動でアップデートしてくれるスクリプト
というわけで、この .strings の内容を最新の .storyboard に合わせてアップデートしてくれるスクリプトがあるので使ってみた。
ダウンロードは下記から
ファイルをダウンロードて展開したら、とりあえずプロジェクトフォルダに「scripts」フォルダを作ってそのなかに入れておく。
そして忘れずにスクリプトを実行できるようにしておく。
iMac-i3-27:~ paraches$ cd /Users/paraches/Desktop/MyLocalizedTest/scripts iMac-i3-27:scripts paraches$ ls -al total 8 drwxr-xr-x 3 paraches staff 102 2 24 12:24 . drwxr-xr-x 5 paraches staff 170 2 24 12:24 .. -rw-r--r--@ 1 paraches staff 2611 2 22 03:43 update_storyboard_strings.sh iMac-i3-27:scripts paraches$ chmod +x update_storyboard_strings.sh iMac-i3-27:scripts paraches$ ls -al total 8 drwxr-xr-x 3 paraches staff 102 2 24 12:24 . drwxr-xr-x 5 paraches staff 170 2 24 12:24 .. -rwxr-xr-x@ 1 paraches staff 2611 2 22 03:43 update_storyboard_strings.sh iMac-i3-27:scripts paraches$
そして以下の手順でビルド時に自動的にこのスクリプトが実行されるようにする。
まずは [TARGETS] の [Build Phases] タブの右下にある [Add Build Phase] ボタンから [Add Run Script] を選択。
[Run Script] が加わるのでそこで先ほどのスクリプトが起動するように編集する。
具体的には、「Type a script or drag a script file from your workspace」に「scripts」フォルダに入れた「update_storyboard_strings.sh」ファイルをドラッグ&ドロップ。
パスが絶対パスになるので、それが嫌な場合は相対パスに変更。(プロジェクトの位置からの相対パスだと、プロジェクトフォルダを移動しても大丈夫!)
これで準備完了!
MainStoryboard.storyboard(Base)に新しいラベル「New Localized Label」を追加。
ビルドしてみると…ちゃんと MainStoryboard.strings(Japanese) にも新しいラベルが入ってる!
この新しく入ったラベルの文字列を日本語に修正すればローカライズ完了!
というわけで、英語/日本語のローカライズしかしない自分だけど、やっぱり各言語用の .storyboard(.xib)を編集するのは面倒だったので、こうやって自動的にアップデートできる .strings でローカライズするのはとっても楽で良い!