Xcode6を使った多言語対応
本日はXcode6(正確にはXcode6.1.1)で多言語対応する方法を書きます。
全スクリーンショットを載せます。
まず、多言語化に使うサンプルプロジェクトは下記です。
StoryboardにはLabelとButtonを1つずつ配置します。
ソースは下記とします。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
|
では、早速、多言語化を進めていきましょう。
PROJECT > info > Localizationsに項目を追加
初めはEnglishのみ項目があります。『+』をクリックして、追加したい言語を選択しましょう。
Main.storyboardの追加 次にstoryboardに言語の設定を追加しましょう。
Main.storyboardを選択し、右メニューの『Show the File inspector』> Localizationを見てください。
ここで使いたい言語にチェックをつけましょう。
LaunchScreenの追加
そして、Main.storyboardで実施したのと同様にLaunchScreenでも言語を設定しましょう。
LaunchScreen.xibを選択し、右メニューの『Show the File inspector』> Localizationで使いたい言語にチェックをつけましょう。
Info.plistの追加 同様にInfo.plistでも言語を設定しましょう。
Info.plistを選択し、右メニューの『Show the File inspector』> Localizationで使いたい言語にチェックをつけましょう。
アプリ名など言語ごとに変更したいKeyの値を変えましょう。Localizable.stringsファイルの追加
続いて、ソース内の文言を多言語化する手順です。
Supporting FilesにStrings FileをLocalizable.stringsというファイル名で追加しましょう。
今は保存場所はあまり気にしなくて構いません。
ファイルを追加したら、Localizable.stringsを選択し、右メニューの『Show the File inspector』> Localizationで使いたい言語にチェックをつけましょう。
Localizable.stringsファイルに文言を追加 先ほど追加したファイルに文言を追加しましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
反映させたいファイルへは下記のように書きます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|
ここまでできれば、多言語化OKです。
注意点
途中で躓いた場合の対応を書いておきます。
Info.plistが見つからないというエラーが出る 下記のようなエラーが出た場合の対処を書いておきます。
これは、多言語化したことにより、当初はAppDelegate.mファイルと同じ階層にあったInfo.plistファイルが多言語ごとのフォルダ配下に移動したために発生しています。
なので、TARGETS > Build Settings > Packaging > Info.plist Fileのパスを変更しましょう。
途中でStoryboardにラベルを追加した場合の対応 開発していれば、途中で表示したいものを増やすこともあるでしょう。
その場合は、Main.storyboardを選択して、右メニューの『Show the File inspector』> LocalizationからBase以外のチェックを外しましょう。
それから、ラベルを追加して、再度、Base以外のチェックをつけましょう。
その際、前のファイルを使うか、新しいファイルに置き換えて使うかを問われます。
新しいファイルに置き換えて使う方の Replace file を選択しましょう。
以上で多言語化の注意点は終了です。
世界に羽ばたくアプリを開発するためには多言語化は必須ですね。
面倒な対応ではありますが、ぜひ取り組んでみてください。
ということで、今日はここまで。