我是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