在我的Android应用程序的资源中已经建立了一些特定的语言(如res/values es/strings.xml(。我希望用户能够从这些可能的语言中进行选择,以便在需要时设置他们的首选语言。
我想获得语言列表的方式是通过自动方式(以防以后添加新语言(。
getResources().getAssets().getLocales()
本身是不可接受的,因为它列出了设备支持的所有可能的语言。相反,我只想获得res/中列出的那些。
我该怎么做?API中有内置函数吗?我应该使用硬编码字符串数组吗?
最低安卓API:21,当前安卓API:30,<strong]语言:>Java
谢谢!
。。。这列出了设备支持的所有可能的语言。相反,我只想获得那些在res/中列出的。
对不起,这不是什么事。另外,事情并没有那么简单:
-
您正在使用库,其中一些库可能具有翻译资源,其语言可能是您自己的源代码中的语言的超集
-
应用程序捆绑包只会将您自己语言的一个子集发送给用户
与应用程序模块的res/
目录树中的内容相比,用户拥有的内容之间的关系非常复杂。
API中是否有内置函数,我是否应该使用硬编码字符串数组?
是的,您应该计划维护自己的语言名册。您可能需要在未来为此进行额外的工程工作(例如,应用程序捆绑包(。