はじめに
Androidアプリ内で使用しているテキストが日本語だけではなく、
英語やフランス語など多言語対応していると
かっこいいなと思ったのでやり方をまとめておきます。
実行環境
- Windows10
- Android Studio Bumblebee | 2021.1.1 Patch 1
システムの言語設定に合わせる方法
ここでは単純に「こんにちは」というテキストだけ用意して、
Android端末のシステムで言語設定を英語にした場合は「Hello」と表示されるように設定していきます。
(1)「こんにちは」のテキストビューを配置
テキストビューを配置してtextプロパティに直接「こんにちは」と入力するのはあまりスマートではないので、リソースファイルに文字列を登録していきます。
こうしておくことで後で多言語対応にすることもできます。
まずはtextプロパティの横にあるボタンをクリック。
Pick a Resource のウィンドウが出てくるので、左上の「+」→「String Value」をクリック。
New String Value のウィンドウが出てきたら以下のように設定して「OK」をクリック。
- Resource name : hello
- Resource value : こんにちは

(2) 英語用の文字列リソースファイルの作成
システムの言語設定が英語だった場合には「こんにちは」ではなく「Hello」を表示させたいので、
次は英語用のリソースファイルを作成する必要があります。
まずは先ほど開いた Pick a Resource のウィンドウを開いて、
今度は「+」→「String Resource File」をクリック。
String Resource File のウィンドウが開くので、
作成したいリソースファイルのロケール(言語)を設定していきます。
以下のように「locale」→「>>」をクリック。
次に、Language から 「en: English」をクリックして、
File name の欄に strings.xml と入力して「OK」をクリック。
そうすると app/src/res/ 直下に values-en ディレクトリが作成されているはずです。
ここに英語用のリソースファイルが配置されます。
今の場合は strings.xml のみが作成されていると思います。
これでひとまず英語用のリソースファイルを用意することができました。
(3) 英語用リソースファイルを編集
それでは最後に、英語用のリソースファイルに「Hello」を登録していきます。
values-en 直下の strings.xml ファイルを以下のように編集します。
ここで name="hello"
の部分は(1)で設定したリソースIDと同じにしてください。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello</string>
</resources>
(4) 実際に端末で確認
ここまでの手順ができていれば日本語と英語に対応しているはずなので確認してみます。
以下に並べた左側はAndroidのシステム言語を日本語に設定したもの、
右側は英語に設定したものになります。
無事に言語が切り替わっていることが確認できました!
最後に
今回は日本語と英語のみに対応させていますが、同様のやり方でフランス語やロシア語などを追加することができます。
対応した言語のリソースファイルを作るだけなので思ったより簡単にできました。
Android Studio初心者に役に立つことができれば幸いです。