リソースの多言語化をメモ。


例えば、valuesなんかにいれているstring.xml(テキスト)を
各言語(各国)別に分けたいときがあると思います。


そんなときは、

[リソース名]-[言語コード]-r[国コード]

で出しわけができるようになります。


例としてvalues、英語言語を使用していて国をUS(アメリカ)とUK(イギリス)にわけたい場合は
 values-en-rUS = US
 values-en-rGB = UK
となります。

国コードの前は-rなので間違えないように。


国までわけないよって場合は

[リソース名]-[言語コード]

で問題ありません。


例をだすとこんな感じ。

values-ja = 日本語
values-de = ドイツ語
values-it = イタリア語
values-fr = フランス語
values-pt = ポルトガル語
values-hi = ヒンディー語
values-he = ヘブライ語


んで出しわけ対応させなかった言語は
デフォルトのvaluesフォルダの内容が適応されます。


各コードについては下記のリンクを参考にしてくれれば作れると思います。


≫言語コードはこちらの「ISO 639-1」部分が該当します。
http://www.loc.gov/standards/iso639-2/php/code_list.php


≫国コードはこちらの「ISO 3166-1-alpha-2」です。
http://www.iso.org/iso/country_codes/iso_3166_code_lists/country_names_and_code_elements


ちなみに中国語系は繁體中文が簡体中文あったりで
国まで出し分けをちゃんとしないとまったく伝わらない事になるようです。


こちらのサイト様を参考 にすると


 繁體中文 = 台湾、香港、マカオ
 簡体中文 = 中国本土、シンガポール

という事なので下記のようにローカライズ対応するとよさそうです。


values-zh-rTW = 台湾
values-zh-rHK = 香港
values-zh-rMO = マカオ
values-zh-rCN = 中国本土
values-zh-rSG = シンガポール


また、valuesだけでなく、drawableだったりmenuだったりにも
国別に分ける事は可能です。


まぁ画像なんかはあまり分けすぎるとその分ファイルサイズも大きくなるので
ある程度、さじ加減はしたほうがいいですが。


他にも縦/横レイアウトの場合とかも出しわけできたり色々あります。

詳しくはAndroid developerページを見ると早いでしょう。


≫ProvidingResources
http://developer.android.com/guide/topics/resources/providing-resources.html



と書きながら気になってるのがGooglePlayの登録だと中文は繁體しか使えないという事。

ちゃんと伝わっているのか不明です。


あとAmazonAppもいつのまにか中国語を登録できるようになってましたね。