何のことはない。
Androidには多言語対応させるために便利な仕組みが予め用意されている。
メッセージリソースを定義する場所は、
res/values/strings.xml
だということは前回の学習で大まかにでも理解できただろう。
それを踏まえて、このアプリを日本語(ja)にも対応させるためには、例えば、
res/values-ja/strings.xml
というフォルダ&ファイルを新規に用意すればいいだけなのである。そう、あまりにもシンプルに多言語対応できるのだ。
res/values-ja/strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">マイファーストAPP</string>
<string name="edit_message">メッセージを入力して下さい</string>
<string name="button_send">送信</string>
<string name="menu_settings">設定</string>
<string name="title_activity_main">メインアクティビティ</string>
<string name="action_settings">設定</string>
<string name="hello_world">ハローワールド!</string>
<string name="title_activity_display_message">私のメッセージ</string>
</resources>
さぁ、仮想Androidマシンのホーム画面から「設定」(settings)の言語設定を「日本語」に指定して実行してみよう。
見事に日本語対応しているはずだ。
ちなみにこの多言語化の仕組みは、言語コード(ISO 639-1)のみならず、地域コード(ISO 3166-1-alpha-2)も指定できる。地域コードを指定する際は、文字の先頭に "r" を付けること。
例(en-USの場合): res/values-en-rUS/strings.xml
例(fr-FRの場合): res/values-fr-rFR/strings.xml
せっかく作ったアプリだから、ぜひとも多言語に対応させて世界中の人に使ってもらおう。
参考にさせてもらったサイト:
Androidアプリを多言語化する(リソースの様々な出し分け:Android Techfirm Lab