Xcode コードからローカライズする方法
コード内で文字をローカライズする方法を紹介していきます。
作業を大まかに分けると、
- Project -> Info -> LocalizationsでJapanese(ja)を追加
- 追加時に表示されるダイアログのStoryBoardとLaunchScreenにチェックをつける
- Localizable.strings を作成
- File inspectorからLocalization をクリックし、Base, Japanese にそれぞれチェック
- それぞれの文字列を定義
- コードから文字列を取得
このようになります。それでは細かく見ていきましょう。
日本語を追加
Project → Info → Localizetionsから
Japaneseを追加
チェックはつけたまま
Japanese を追加すると、ダイアログが表示されるので、チェックはつけたままにします。
これで、日本語が追加されています。
Localizable.strings を追加
strings ファイルを追加するのですが、この時ファイル名は必ず、Localizable.strings にしましょう。
僕は違う名前にしてて、うまくいかずに1時間悩んでました。汗
Base, Japanese を追加
Localizable.strings を選択し、File inspectorからLocalization をクリックし、Base, Japanese にそれぞれチェックします。
Base は英語のことですね。
チェックすると、下のようにそれぞれファイルができていると思います。
それぞれの文字列を定義
Base, Japanese ファイルそれぞれに文字列を定義していきます。
定義の形式は
"key" = "value"; です。
最後の ; を忘れないように気をつけてください。
コードから文字列の取得
それでは、定義した文字列を取得し、表示していきましょう。
NSLocalizedString("localize", comment: "")
これで文字列を取得することができます。
またここでは、ラベルの接続などの説明は省きます。
ここまでできたら、シミュレータの言語を変更し、それぞれ見てみます。
Base
Japanese
ローカライズできました!!