コードを書かずにStoryboardで多言語対応
Xcode開発における多言語対応については記事はいろいろありますが、この記事では極力コードを書かずStoryboardで多言語対応する方法について説明します。
0. 環境
Xcode 11.0
1. プロジェクト自体の多言語対応手順
PROJECTのInfo - Localizationから、Japaneseを追加します。
※今回は英語をデフォルト言語とし、日本語を追加した場合を想定します。
これにより選択したstoryboardには.stringsファイル(日本語での表示文字列を記述するためのファイル)が生成されます。
- .storyboardファイル:英語を記述
- .stringsファイル:日本語を記述(書き方は 「2. Storyboardを更新したときの多言語対応手順」参照)
とすれば多言語対応は完了です。
ただ.stringsファイルのUI要素の指定の仕方が特殊で、UIの種類によって指定すべきキーが変わってきます。
UI要素を追加したときにそのキーを調べて手打ちするのは手間なので、そうしたケースでのコツを以下で説明します。
2. Storyboardを更新したときの多言語対応手順
一旦Japaneseのチェックを外します。
このときに確認ダイアログが表示されることがありますが、"Remove"を選びます(つまりこれまでの.stringsファイルは削除されるので、要バックアップです)。
そしてJapaneseに再度チェックを入れます。
出てきたダイアログで"Replace file"を選ぶと、storyboardの内容に基づいてstringsファイルが再生成されます。
上の画像の例で言えば
"cgO-CO-O4B.text": UILabelの表示文字列
"qY6-pH-68Q.normalTitle": UIButtonの表示文字列
となっているので、これらの右辺に好きな日本語を指定すれば良いわけです(下のコードでは自動生成されたコメントを省略しています)。
"cgO-CO-O4B.text" = "こんにちは!";
"qY6-pH-68Q.normalTitle" = "ボタン";
UI要素を追加した場合はこのやり方が良いですが、追加がない場合であれば.stringsファイルを直接編集する方が簡単ですね。
3. Storyboardを追加したときの多言語対応手順
Localizeから、まずはBaseを選び、その後でJapaneseにチェックを入れて追加します。
あとはこれまでと同様ですね。
4. 多言語対応の動作確認
シミュレータ(もしくは実機)の言語設定を切り替えることで、アプリの英語・日本語表示が切り替わることを確認できます。
Author And Source
この問題について(コードを書かずにStoryboardで多言語対応), 我々は、より多くの情報をここで見つけました https://qiita.com/nozomukuwae/items/16f21fe500b2462b68c6著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .