はじめに
iOS アプリのローカライズについてやり方をよく忘れるのでまとめました。
戻るボタンの表示
UINavigationController
の戻るボタンの表示が端末の言語設定が日本語の場合も「Back」になっているので「戻る」にします。
下記のように TARGETS -> Info -> Localization native development region を Japan に設定する。
これで「戻る」と表示されるようになります。
Before | After |
---|---|
アプリ内文言のローカライズ
次にアプリで使用する文言のローカライズをおこないます。
-
Localizable.strings ファイルを作成する。
-
Localizable.strings の Localization -> Localize... を押下する。
-
PROJECT -> Info -> Localizations で Japan(ja)を追加する。
-
Localizable.strings にチェックを付けて Finish。
-
Localizable.strings に文言を定義する。
1234567// Localizable.strings(English)"second_screen_title" = "Second";"second_button_title" = "To Second Screen";// Localizable.strings(Japanese)"second_screen_title" = "2番目";"second_button_title" = "2番目へ"; -
文言を下記のように呼び出す。
123button.setTitle(NSLocalizedString("second_button_title", comment: ""), for: .normal)title = NSLocalizedString("second_screen_title", comment: "")
これでアプリ内文言のローカライズは完成です。storyboard や xib もローカライズしてもいいですがラベルとかを置くたびに再生成しないといけないのでわりとめんどくさいです。。。
アプリ名のローカライズ
アプリ名のローカライズをします。
- InfoPlist.strings ファイルを作成する。
- InfoPlist.strings の Localization -> Localize... を押下し下記のようにチェックを付ける。
-
InfoPlist.strings に文言を定義する。
12345// InfoPlist.strings(English)CFBundleDisplayName = "test";// InfoPlist.strings(Japanese)CFBundleDisplayName = "てすと";
これでアプリ名もローカライズできました。
おわりに
iOS アプリで多言語対応しようかなと思ったときにどうするんだっけ?と毎回なるので基礎的なところだけまとめました。
いろいろ気にしないといけないことはありますが細かい部分は下記の記事を見るのがいいと思います。
iOSアプリの国際化対応の勘所とTips集(Swift版)
コメント
[…] InfoPlist の作成はこちらをどうぞ。 iOSアプリのローカライズ […]