MENU

【Jetpack Compose】多言語化対応(ローカライズ)| 日本語と英語に対応するには?

記事内に商品プロモーションが含まれる場合があります

海外向けにアプリをリリースするにはその国の言語に対応する必要があります。

とはいえ、全世界の言語に対応するには現実的ではないため、このページでは日本語と英語に対応したアプリの作り方を解説します。

前提

デフォルト言語を英語として、端末の言語設定が日本語の場合は日本語を、それ以外の言語の場合は英語を表示するような対応をします。

目次

アプリ名を英語と日本語対応にする方法

アプリ名は、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.xmlvalues-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」と表示されます。

Screenshot_20240324-093638.png を表示しています
Screenshot_20240324-093716.png を表示しています
Share

Comment

コメントする

目次