AndroidStudioと、Kotlinでやっていきます。
まずはテキスト管理のみを書いて、そのあとに言語ごとに分ける方法を記入します。iOSに比べるとすぐにできるので、
まずは、いつも通りプロジェクトを作っていきます。
すると、res/valuesのなかに、strings.xmlができていると思います。
ここに、テキストを追加して使用していきます。
最初から追加されているものは、アプリ名です。
今回は、StringTest(センスの欠けらも)
<resources> <string name="app_name">StringTest</string> </resources>
最初から配置されている、TextViewの文字を変更してみましょう。
strings.xmlのなかに以下のように追加していきます。
<resources> <string name="app_name">StringTest</string> <string name="hello">こんにちは!Android</string> </resources>
activity_main.xml内で呼び出すときは、以下のように記入します。
android:text="@string/hello"
MainActivity.kt内ではこう
helloTexstView.text = resources.getString(R.string.hello)
と、これだけです。すぐできました。
次は、言語ごとにどう分けるかです。
今回も、日本語の場合・日本語以外の場合で分けてみましょう。
stringsの近くで右クリックして、新しいresourcesを作成します。
- File Nameは「strings.xml」
ここはどの言語でも変わりません。
- Sources Set
今回は「Main」です。ここは自分の
状況で変更してください。
- Directory name
「values-ja」とします。
valuesの後ろに、言語のコードを指定します。コードは、ISO 639-1規格で指定します。
これで準備は完了です。
ではテキストを追加してみましょう。
日本語の場合
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">日本語版</string> <string name="hello">こんにちは!Android</string> </resources>
日本語以外の場合
<resources> <string name="app_name">StringTest</string> <string name="hello">Hello!Android</string> </resources>
nameは必ず、同じ名前にしましょう。
アプリ名も、言語によって変えることができます。
使い方は先ほどと同じなので、さきにstrings.xmlを作って管理しておけば、コード部分を変えることなく、後々の多言語化は比較的やりやすいと思います。それはiOSとおなじですね。
例えば「アプリ名はどの言語も英語でいい!」のであれば、
app_nameの項目は、values/strings.xmlだけに書けばどの言語でも、そのテキストが表示されます。
(今回の場合だと、values-ja/strings.xmlには記述しない)
楽ですね〜
今回は以上です。(短かった・・・)