Storybord を多言語化する
ViewController.swift などのコードを編集せずに多言語化する方法を招介します。
*.storyboard だけでなく *.xib も同じ要領で多言語化できるはずです。
事前準備
1. Bese Internationalization をオンにします。
2. ベースになるローカライズ・ファイル Localizable.strings ファイルは既にあるとします。
次のキー・バリューの組み合わせが入っているとします。
code:ja.proj/Localizable.strings
"hello" = "こんにちは";
code:en.proj/Localizable.strings
"hello" = "Hello";
Storyboard を編集する
サンプルとして Main.storyboard を編集します。
1. 右カラム > File Inspector > Localization から Localize... をタップします。
Main.storyboard が Base.lproj ディレクトリー下に移動します。
2. English と Japanese にチェックを入れます。
en.proj/Main.strings ファイルができます。
ja.proj/Main.strings ファイルができます。
3. Main.storyboard に UILabel を追加します。
4. UILabel の text にローカライズ・キー hello を入れます。
翻訳作業を行なう
1. Main.storyboard の階層にある en.proj/Main.strings を編集します。
code:en.proj/Main.strings
"DKP-2Z-Psf.text" = "hello";
ローカライズ・キー hello がありますね。
2. hello の部分を翻訳したい文言に直します。
en.proj/Localizable.strings を参照に (コピーして?) Hello と直すと良いでしょう。
code:en.proj/Main.strings
"DKP-2Z-Psf.text" = "Hello";
3. ja.proj/Main.strings も同様に修正します。
code:ja.proj/Main.strings
"DKP-2Z-Psf.text" = "こんにちは";
4. ビルドすると翻訳が当たっているのが分かるでしょう。
TIPS 本作業を自動化する ls2xs コマンドがあります。 参考記事