我的国际化语言都是一步一步来的我在百度上看过很多这样的博客写的都是不明不白的所以自己写一份如果有更简单的可以评论并附上链接谢谢大家的支持
下面是如何写国际化语言的课看看也可以直接下载demo(注demo在最后哈哈记得看完之后点个赞)
首先我们来了解一下国际化语言的包是如何建的
在建包之前你可能需要一些资料比如(生成什么样的包名以及包名里面的东西):
// 中文(中国):values-zh-rCN
// 中文(台湾):values-zh-rTW
// 中文(香港):values-zh-rHK
// 英语(美国):values-en-rUS
// 英语(英国):values-en-rGB
// 英文(澳大利亚):values-en-rAU
// 英文(加拿大):values-en-rCA
// 英文(爱尔兰):values-en-rIE
// 英文(印度):values-en-rIN
// 英文(新西兰):values-en-rNZ
// 英文(新加坡):values-en-rSG
// 英文(南非):values-en-rZA
// 阿拉伯文(埃及):values-ar-rEG
// 阿拉伯文(以色列):values-ar-rIL
// 保加利亚文: values-bg-rBG
// 加泰罗尼亚文:values-ca-rES
// 捷克文:values-cs-rCZ
// 丹麦文:values-da-rDK
// 德文(奥地利):values-de-rAT
// 德文(瑞士):values-de-rCH
// 德文(德国):values-de-rDE
// 德文(列支敦士登):values-de-rLI
// 希腊文:values-el-rGR
// 西班牙文(西班牙):values-es-rES
// 西班牙文(美国):values-es-rUS
// 芬兰文(芬兰):values-fi-rFI
// 法文(比利时):values-fr-rBE
// 法文(加拿大):values-fr-rCA
// 法文(瑞士):values-fr-rCH
// 法文(法国):values-fr-rFR
// 希伯来文:values-iw-rIL
// 印地文:values-hi-rIN
// 克罗里亚文:values-hr-rHR
// 匈牙利文:values-hu-rHU
// 印度尼西亚文:values-in-rID
// 意大利文(瑞士):values-it-rCH
// 意大利文(意大利):values-it-rIT
// 日文:values-ja-rJP
// 韩文:values-ko-rKR
// 立陶宛文:valueslt-rLT
// 拉脱维亚文:values-lv-rLV
// 挪威博克马尔文:values-nb-rNO
// 荷兰文(比利时):values-nl-BE
// 荷兰文(荷兰):values-nl-rNL
// 波兰文:values-pl-rPL
// 葡萄牙文(巴西):values-pt-rBR
// 葡萄牙文(葡萄牙):values-pt-rPT
// 罗马尼亚文:values-ro-rRO
// 俄文:values-ru-rRU
// 斯洛伐克文:values-sk-rSK
// 斯洛文尼亚文:values-sl-rSI
// 塞尔维亚文:values-sr-rRS
// 瑞典文:values-sv-rSE
// 泰文:values-th-rTH
// 塔加洛语:values-tl-rPH
// 土耳其文:values–r-rTR
// 乌克兰文:values-uk-rUA
// 越南文:values-vi-rVN
这里面可能大概包括了我们常用的一些国际化语言如果没有请去其他地方找,这个就不提供链接了
那么回归正题我们应该如何建包呢?


完成之后就会生成以下东西当然strings是自己生成的,国旗也是自动生成的

在写之前先看一下学习量吧

当你建好你的所需要的包之后呢?
先写个BaseActivity吧(下面附上代码) 可以跟着我一步一步来
public abstract class BaseActivityextends AppCompatActivity {
@Override
protected void attachBaseContext(Context newBase) {
SharedPreferences preferences = newBase.getSharedPreferences("language", Context.MODE_PRIVATE);
String selectedLanguage = preferences.getString("language", "");
super.attachBaseContext(LanguageUtil.attachBaseContext(newBase, selectedLanguage));
}
}
上面呢是穿件一个轻量级的存储器将我们的语言进行存储
网友评论