- Swift 5
- Xcode Version 12.3
多言語対応については、こちらの記事を参照
https://i-app-tec.com/ios/localization.html
上記記事の中の、StoryBoardを、最初に英語版を作って、その後日本語へローカライズしたときの話題です。
ローカライズ完了した後に、機能追加などで、ラベル、ボタンをStoryBoardで追加しても、日本語ファイルであるMain.strings(Japanese)には反映されません。
ので、手動で反映させる方法のメモとなります。
ほんとにこんなことをやる必要があるのか?と未だに疑問なので、もっと良い方法をご存知の方がいらっしゃったら教えて頂きたいです!
StoryBoardで対象のラベルやボタンのObject IDを調べる
- 対象のラベルやボタンをクリック
- Identity inspectorを開く。(左から4つめ)
- Documentの項目にObject IDが表示されているので、選択してコピー
Main.strings(Japanese) に追記
- Main.string(japanese) を開く
- 適当な行に
"[Object ID].normalTitle" = "テキスト";
の形式で記述 - ボタンの場合は、normalTitle、ラベルの場合はtextなど、Main.stringの他の項目を参考に記述する
例)
"Ka7-a7-C3u.normalTitle" = "送信";