为什么我的Android应用程序不使用本地化的资源文件?

时间:2019-04-22 14:04:22

标签: android

我是android开发的新手,我正在尝试使用本地化的“ strings.xml”。

我在“ res / values-zh”下创建了一个strings.xml。但是,我的应用程序只以某种方式使用“ res / values / strings.xml”。

我使用以下代码检查了语言:

Log.d("MainActivity", "default lang = " + Locale.getDefault().language)
Log.d("MainActivity", "resources.configuration.locale.language = " + resources.configuration.locale.language)
Log.d("MainActivity", "resources.configuration.locale = " + resources.configuration.locale)

结果是:

2019-04-22 21:53:08.182 9431-9431/com.example.myandriod D/MainActivity: default lang = zh
2019-04-22 21:53:08.182 9431-9431/com.example.myandriod D/MainActivity: resources.configuration.locale.language = zh
2019-04-22 21:53:08.182 9431-9431/com.example.myandriod D/MainActivity: resources.configuration.locale = zh_HK_#Hant

我做错了什么?


更新

经过更多的谷歌搜索后,看来这仅是中文问题。自Andriod 7.0起,“ res / values-zh / strings.xml”不再起作用,必须将其更改为“ res / values-zh-rHK / strings.xml”或“ res / values-zh-rTW / strings.xml”

我仍然不完全理解为什么会这样。对于那些感兴趣的人,请参见https://gist.github.com/amake/0ac7724681ac1c178c6f95a5b09f03ce#new-locales-vs-old-locales-chinese

0 个答案:

没有答案