Xcodeで普通?にローカライズしてみる

まずは、何も考えずに普通に「Single View Application」のプロジェクトを作成、こんな感じにラベルを配置。


次にこれまた普通にローカライズして「日本語」を加えてみる。

MainStoryboard.storyboard がローカライズされて、「English」と「Japanese」の .storyboard ができあがる。(InfoPlist.strings も英語と日本語ができあがるけど、今回の話とは関係ない。)


この状態だとそれぞれの Storyboard を独立して編集できるので、各言語間で機能が違ったりする場合には良いのかもしれない。
けど、単純に文字列が違うだけの UI の場合には、例えばラベルを加える場合には全ての言語用の .stryboard ファイルにラベルを加えなければならなくて位置合わせとかかなり面倒になる。

MainStoryboard.storyboard(English)

MainStoryboard.storyboard(Japanese)

できれば文字列を除いた UI は 1つの UI を使って、文字列だけ各言語用を用意して済ませたい。(NSLocalizedString を使うみたいに!)