在我的Android应用程序中实现传统和简体中文支持的过程中,我对如何工作感到困惑.
因此,从阅读的文档 ,以及像一些讨论这个和这个我已经把简化中国成
和繁体中文
这一切都很好,但不知何故对我来说没有意义(对不起,如果我不太了解中文简体与传统用法).
根据我在模拟器和根电话中检查区域设置对话框的理解,用户可以将区域设置更改为简体中文或繁体中文.
现在问题就在这里.系统如何知道从哪里获得简体或繁体中文strings.xml.是否存在某种假设,如果我应该显示简体中文从值-zh获取它并从值-zh-rTW获得传统?
但是,如果用户位于香港并将其设备设置为显示简体中文,该怎么办?或者,如果世界上其他地方的移民将他的设备设置为繁体中文,但他的地区是美国或加拿大?
我该怎么做才能允许我的用户设置他们的区域设置并让我的应用程序显示正确的区域设置?
更新:
通过进一步调查,我认为Android手机用户无法将该国家/地区与该语言分开设置.他们只能在UI中设置所谓的语言环境.它由语言和国家组成,但列表有限,因此无法进行多种组合.
例如,生活在美国的中国人想要使用繁体中文可以将语言设置为繁体中文(至少在根电话上),然后会有一个zh-rTW的语言环境.他绝不能将他的国家单独设置为美国.以类似的方式,任何类型的移民都不能将他们的母语设置为他们目前居住的国家.
基本上这意味着只支持一堆语言和国家组合.现在的问题是如何找出它们是哪些?
所以我的应用程序中有一个语言设置.当语言切换时,我希望所有的文本视图等立即改变语言.目前我只是更改配置中的语言环境,因此当用户重新启动活动时语言已更改.
我的问题的一个丑陋的解决方案是每次语言更改时使每个textview加载新资源.有更好的解决方案吗?也许是一种巧妙的方式来离散地重启活动?或者只是强制重新加载资源?