行业知识
Android多国语言翻译 国际化(i18n)
i18n 是“国际化”(Internationalization)的缩写,其中 i 是单词 “internationalization” 的第一个字母,18 代表字母 i 和 n 之间的 18 个字母,n 是单词的最后一个字母。这种缩写形式主要用于软件开发领域,以简洁地表示支持多语言的概念。
多语言或国际化在软件中通常指的是使软件能够适配多种语言和地区的过程,不仅包括翻译文本,还包括考虑日期和时间格式、货币单位、数字格式、排序规则等地区差异性问题。
使用 i18n 作为国际化的缩写,可以让开发者快速识别代码库中与多语言支持相关的部分,比如文件夹、函数、变量名等。类似的还有 l10n,用来表示“本地化”(Localization),即根据特定国家或地区的语言和文化习惯调整软件的过程。
语言目录详细对应关系
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)—————————–中文,台湾
RTL工具类
针对RTL语言,如果不想重新切图
/** * RTL语言及其通常用的简称 * 1. 阿拉伯语 (Arabic) - `ar` * 2. 波斯语 (Persian/Farsi) - `fa` * 3. 乌尔都语 (Urdu) - `ur` * 4. 希伯来语 (Hebrew) - `he`(过去曾被表示为`iw`) * 5. 叙利亚语 (Syriac) - `syr` * 6. 巴什基尔语 (Bashkir) - `ba` * 7. 吉尔吉斯语 (Kyrgyz) - `ky` * 8. 塔塔尔语 (Tatar) - `tt` * 9. 乌兹别克语(使用阿拉伯字母)(Uzbek Arabic script) - `uz_Arab` * 10. 犹太-佩尔维安语 (Judeo-Persian) - 无特定ISO代码,通常使用波斯语编码`fa` * * @return */ public static boolean isRTL(Context context) { String language = context.getResources().getConfiguration().locale.getLanguage(); final String RTL = "[ar,fa,iw,ur,ur,he,syr,ba,ky,tt,uz_Arab]"; return RTL.contains(language); } public static void autoImageViewRTL(ImageView imageView) { if (imageView == null) { return; } imageView.setScaleX(isRTL(imageView.getContext()) ? -1.0f : 1.0f); }} | Code | Language | Code | Language | |
|---|---|---|---|---|
| af | 南非荷兰语 | ko | 韩语 | |
| am | 阿姆哈拉语 | ky | 吉尔吉斯 | |
| ar | 阿拉伯语 | lo | 老挝语 | |
| as | 阿萨姆语 | lt | 立陶宛语 | |
| az | 阿塞拜疆语 | lv | 拉脱维亚语 | |
| be | 白俄罗斯语 | mk | 马其顿语 | |
| bg | 保加利亚语 | ml | 马拉雅拉姆语 | |
| bn | 孟加拉语 | mn | 蒙古语 | |
| bs | 波斯尼亚语 | mr | 马拉地语 | |
| ca | 加泰罗尼亚语 | ms | 马来语 | |
| cs | 捷克语 | my | 缅甸语 | |
| da | 丹麦语 | my-MM | 缅甸语(缅甸) | |
| de | 德语 | nb | 挪威语 | |
| el | 希腊语 | ne | 尼泊尔语 | |
| en-AU | 英语(澳大利亚) | nl | 荷兰语 | |
| en-CA | 英语(加拿大) | or | Odia | |
| en-GB | 英语(英国) | pa | 旁遮普语 | |
| en-IN | 英语(印度) | pl | 波兰语 | |
| en-US | 英语(美国) | pt-BR | 葡萄牙语(巴西) | |
| en-XA | 英语(伪口音) | pt-PT | 葡萄牙语(葡萄牙) | |
| es | 西班牙语(西班牙) | ro | 罗马尼亚语 | |
| es-US | 西班牙语(美国) | ru | 俄语 | |
| et | 爱沙尼亚语 | si | 僧伽罗语 | |
| eu | 巴斯克语 | sk | 斯洛伐克语 | |
| fa | 波斯语 | sl | 斯洛文尼亚语 | |
| fi | 芬兰语 | sq | 阿尔巴尼亚语 | |
| fr | 法语(法国) | sr | 塞尔维亚语(西里尔文) | |
| fr-CA | 法语(加拿大) | sr-Latn | 塞尔维亚语(拉丁语) | |
| gl | 加利西亚语 | sv | 瑞典语 | |
| gu | 古吉拉特语 | sw | 斯瓦希里语 | |
| hi | 印地语 | ta | 泰米尔语 | |
| hr | 克罗地亚语 | te | 泰卢固语 | |
| hu | 匈牙利语 | th | 泰语 | |
| hy | 亚美尼亚语 | tl | 菲律宾语 | |
| in | 印度尼西亚语 id / in | tr | 土耳其语 | |
| is | 冰岛语 | uk | 乌克兰语 | |
| it | 意大利语 | ur | 乌尔都语 | |
| iw | 希伯来语 | uz | 乌兹别克语 | |
| ja | 日语 | vi | 越南语 | |
| ka | 格鲁吉亚语 | zh-CN | 中文(简体) | |
| kk | 哈萨克语 | zh-HK | 中文(香港) | |
| km | 高棉语 | zh-TW | 中文(繁体) | |
| kn | 卡纳达语 | zu | 祖鲁语 |
上一篇:笔记本怎么架设服务器?
下一篇:qq怎么认证?