海外向けにアプリをリリースするにはその国の言語に対応する必要があります。
とはいえ、全世界の言語に対応するには現実的ではないため、このページでは日本語と英語に対応したアプリの作り方を解説します。
前提
デフォルト言語を英語として、端末の言語設定が日本語の場合は日本語を、それ以外の言語の場合は英語を表示するような対応をします。
目次
アプリ名を英語と日本語対応にする方法
アプリ名は、app/src/main/res/values
内の<string name="app_name">アプリ名</string>
の値を参照します。
そのため、こちらに海外向けに表示したい英語のアプリ名を記述します。
●海外向けのアプリ名
<resources>
<string name="app_name">ToDo</string>
</resources>
次に日本語に対応します。
リソースファイルの作成
日本語用のリソースファイルを作成します。
app/src/main/res/values
ディレクトリ内に日本語用のvalues-ja
というフォルダを作成します。
それぞれのフォルダ中にstrings.xml
を作成します。
日本語用のアプリ名の記述
日本語用のstrings.xmlにアプリ名を追記します。
●日本語用のstrings.xml
<resources>
<string name="app_name">やること</string>
</resources>
以上で、端末の言語設定が日本語の場合は「やること」が、英語の場合は「ToDo」がアプリ名として表示されます。
日本語
デフォルト言語(日本語以外)
アプリ内のテキストを英語と日本語対応にする方法
先ほどと同様にして、values
内のstrings.xml
とvalues-ja
内のstrings.xml
にテキストを追加していきます。
●values/strings,xml(海外向け)
<resources>
<string name="app_name">ToDo</string>
<string name="cancel">Cancel</string>
<string name="done">Done</string>
</resources>
●values-ja/strings,xml(日本向け)
<resources>
<string name="app_name">やること</string>
<string name="cancel">キャンセル</string>
<string name="done">完了</string>
</resources>
アプリ内でこれらのテキストを使うには次のように書きます。
Text(stringResource(id = R.string.cancel))
この例では端末の言語設定が日本語の場合は「キャンセル」と、それ以外の場合は「Cancel」と表示されます。
Comment