多语言对应关系
1、Android多国语言文件夹汇总
Arabic, Egypt (ar_rEG) —————————–阿拉伯语,埃及
Arabic, Israel (ar_rIL) ——————————-阿拉伯语,以色列
Bulgarian, Bulgaria (bg_rBG) ———————保加利亚语,保加利亚
Catalan, Spain (ca_rES) —————————加泰隆语,西班牙
Czech, Czech Republic (cs_rCZ) —————–捷克语,捷克共和国
Danish, Denmark(da_rDK) ————————丹麦语,丹麦
German, Austria (de_rAT) ————————-德语,奥地利
German, Switzerland (de_rCH) ——————-德语,瑞士
German, Germany (de_rDE) ———————-德语,德国
German, Liechtenstein (de_rLI) ——————德语,列支敦士登的
Greek, Greece (el_rGR) —————————-希腊语,希腊
English, Australia (en_rAU) ————————-英语,澳大利亚
English, Canada (en_rCA) ————————–英语,加拿大
English, Britain (en_rGB) —————————-英语,英国
English, Ireland (en_rIE) —————————–英语,爱尔兰
English, India (en_rIN) ——————————–英语,印度
English, New Zealand (en_rNZ) ———————英语,新西兰
English, Singapore(en_rSG) ————————–英语,新加坡
English, US (en_rUS) ———————————–英语,美国
English, Zimbabwe (en_rZA) ————————–英语,津巴布韦
Spanish (es_rES) —————————————-西班牙
Spanish, US (es_rUS) ———————————–西班牙语,美国
Finnish, Finland (fi_rFI) ———————————芬兰语,芬兰
French, Belgium (fr_rBE) ——————————-法语,比利时
French, Canada (fr_rCA) ——————————-法语,加拿大
French, Switzerland (fr_rCH) ————————–法语,瑞士
French, France (fr_rFR) ——————————–法语,法国
Hebrew, Israel (he_rIL) ———————————希伯来语,以色列
Hindi, India (hi_rIN) ————————————-印地语,印度
Croatian, Croatia (hr_rHR) —————————-克罗地亚语,克罗地亚
Hungarian, Hungary (hu_rHU) ————————匈牙利语,匈牙利
Indonesian, Indonesia (id_rID) ————————印尼语,印尼
Italian, Switzerland (it_rCH) —————————-意大利语,瑞士
Italian, Italy (it_rIT) —————————————意大利语,意大利
Japanese (ja_rJP) —————————————-日语
Korean (ko_rKR) ——————————————朝鲜语
Lithuanian, Lithuania (lt_rLT) ————————–立陶宛语,立陶宛
Latvian, Latvia (lv_rLV) ———————————拉托维亚语,拉托维亚
Norwegian-Bokmol, Norway(nb_rNO) —————挪威语,挪威
Dutch, Belgium (nl_rBE) ——————————–荷兰语,比利时
Dutch, Netherlands (nl_rNL) —————————荷兰语,荷兰
Polish (pl_rPL) ——————————————-波兰
Portuguese, Brazil (pt_rBR) —————————葡萄牙语,巴西
Portuguese, Portugal (pt_rPT) ————————葡萄牙语,葡萄牙
Romanian, Romania (ro_rRO) ————————罗马尼亚语,罗马尼亚
Russian (ru_rRU) —————————————-俄语
Slovak, Slovakia (sk_rSK) ——————————斯洛伐克语,斯洛伐克
Slovenian, Slovenia (sl_rSI) —————————-斯洛文尼亚语,斯洛文尼亚
Serbian (sr_rRS) —————————————-塞尔维亚语
Swedish, Sweden (sv_rSE) —————————-瑞典语,瑞典
Thai, Thailand (th_rTH) ——————————–泰语,泰国
Tagalog, Philippines (tl_rPH) ————————–菲律宾语,菲律宾
Turkish, Turkey (tr_rTR) ——————————-土耳其语,土耳其
Ukrainian, Ukraine (uk_rUA) ————————–联合王国
Vietnamese, Vietnam (vi_rVN) ———————–越南语,越南
Chinese, PRC (zh_rCN)——————————–中文,中国
Chinese, Taiwan (zh_rTW)—————————–中文,台湾
2.阿拉伯语适配:
1,在Androidmanifest.xml文件中的application标签内加上 android: supportsRtl="true"属性;
2. 某一个对象需要支持rtl,需要增加这个android: layoutDirection ="rtl";
2,对于布局问题,一个窗口界面没有右对齐,需要在res目录下增加layout-ldrtl目录,把布局文件重新在这个目录下书写;如果不采用该方法,需要在原来的布局文件中修改以下内容:
layout_marginLeft 修改为 layout_marginStart
layout_marginRight 修改为 layout_marginEnd
layout_alignParentLeft 修改为 layout_alignParentStart
layout_alignParentRight 修改为 layout_alignParentEnd
android:layout_toLeftOf 修改为 android:layout_toStartOf
android:layout_toRigntOf 修改为 android:layout_toEndOf
3,对于字符串方向问题,阿拉伯字串是有两个方向的,字串中有英文的,方向就会自动左到右显示。例如:一串英语后加阿拉伯,波斯语,方向以英语为准,就会左到右显示,这样就会产生方向性bug;需要在该
字串前加一个方向符\u200f;这个是一个空白的阿拉伯区域的unicode;加入这个字符后方向就会右到左;
4,对于一些界面的阿拉伯数字1,2,3等,如果需要修改为阿拉伯语的数字形式?, ?, ?,需要在代码初使用String.format("%d", int)方法来转换;
EditText中添加属性android:textDirection="locale"就可以自动根据语言适配对齐方式
android: supportsRtl="true"属性不起作用:
原因在于 Androidmanifest.xml中对最小SDK版本号和目标版本号做了要求:
<uses-sdk android:minSdkVersion="11"
android:targetSdkVersion="21" />
而使用android:supportsRtl="true"要求最低SDK版本号为17,再将上面那两句直接删除或者是改动为>=17的版本号就可以。
5.编码设置其阿拉伯语下(RTL or LTR)view方向:
String language = Locale.getDefault().getLanguage();
if(language.equals("ar")||language.equals("fa")){
LogUtil.w(TAG, "changeTimeLineColor:mCurrentItem = left" + mHorizontalScrollView.getLayoutDirection());
mHorizontalScrollView.setLayoutDirection(View.LAYOUT_DIRECTION_LTR);
}