Androidアプリの多言語対応のメモ
以下ポイント
- アプリが自動でLocaleの設定を読み出してUIの表示を切り替えることが可能。
- 各言語ごとのリソースは"res/values/strings.xml"を基本として日本語リソースは"res/values-ja/strings.xml"に記述という感じ。
- 各種Viewのコンポーネント(たとえばbutton)はTextプロパティに"@string/clear”と形で記述。
- アクティビティ上でテキスト処理をする部分に関しては"_mBtn.setText(R.string.clear);"という形で記述する。
個人的にすごいと思ったのはリソースは"res/values/strings.xml"でアイテム”clear”を作成すると、
”R.string.clear”という形でEclipse上ですぐに参照できる点(しかもIDEで入力時に補完がかかる)。
最初はgettextみたいな仕組みを想像していたけど、予想以上の多言語機構の作りこみに驚かされた。
Locale周りも時間があれば触れたいです。
参考にさせて頂いたサイト:
http://blog.livedoor.jp/deeds_not_words/archives/669054.html