Android string.xmlの分割と多言語化
多言語化はフォルダ名をvalues-XX(XXは国コード"ja"とか"cn"とか)にして、同じようなリソースを置くことでAndroidが勝手に入れ替えてくれる。
また、言語ファイルをよく記述しているres/values/string.xmlは、他の名前で定義しても利用可能。
なので、string.xmlが大きくなりそうになったらファイルを分割するとスッキリする。
例えば、string_test.xml内で"hello"という文字列を定義すると、R.string.helloでアクセスできるようになる。
下記はサンプル。
res/values/string_test.xml
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">hello!</string> </resources>
res/values-ja/string_test.xml
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">こんにちわ!</string> </resources>
利用例)
Log.d("debug", getString(R.string.hello));
これで言語が日本語の際は"こんにちは!"、それ以外は"hello"と出力される。