茶漬けの技術メモ

Golang, Rubyで趣味開発します。テックニュース書いたり。ガジェット触ったり。

Xcode Storyboardでローカライズ

前回、コードからローカライズをしました

o-tyazuke.hatenablog.com

今回は、Storyboard を直接ローカライズしていこうと思います。

が、

実は、前回の時点でStoryboard のローカライズはできており、

Main.strings (Japanese) というファイルがあると思います。

※ない場合は、Storboard を選択、File inspector→ Localization→Base, Japanese にそれぞれチェックでできます。

f:id:biwako_no_otyazuke:20161211121739p:plain

このMain.strings の文字列を変更することで直接ローカライズできるのですが、今回は新たにラベルを追加してみましょう。

f:id:biwako_no_otyazuke:20161211122633p:plain

この状態でMain.strings(Japanese) を見ても新しく追加したラベルについては、key が与えられていません。 そのため、新たに追加したラベルをMain.strings(Japanese) に反映させる必要があります。


Main.strings (Japanese) の更新

更新の方法はいくつかあるようですが、標準機能で更新するには、ターミナルで作業する必要があります。

# プロジェト内のBase.lproj まで移動します
$ cd ProjectName/Base.lproj

# itbool を使って追加したラベルを反映したstrings を新たに作成する
$ ibtool Main.storyboard --generate-strings-file tmp.strings

すると、tmp.strigs ファイルが作成されているので、tmp.strigns 内のコードを、Main.strings (Japanese) にコピペします。 f:id:biwako_no_otyazuke:20161211211922p:plain


そして、value を設定したい日本語に書き換え、シミュレータで確認すると。

f:id:biwako_no_otyazuke:20161211212039p:plain

Stroyboard からローカライズができました!!