动态Android应用语言



很多次我看到Android应用程序有一个语言列表,我可以点击任何一种语言并为这个特定的应用程序下载它(GO天气小工具有这个功能)。

我感兴趣的是这是如何实现的,什么是最好的方式来加载语言动态在Android应用程序?在应用程序项目中添加100个string.xml资源并不是一个解决方案,此外,如果我想提供某种"有趣的节日语言"包或添加一种新语言,我需要一次又一次地将项目上传到Google Play…

谢谢!

虽然可以使用扩展文件添加到应用程序中,但它们在某些方面是有限的。对您来说,主要问题是您只能拥有有限数量的扩展文件。如果你想要100种语言,你唯一的选择就是在扩展文件中加载它们all,然后下载整个文件。虽然这可能不是问题,因为翻译后的字符串列表可能不是那么大,但您可能希望采用不同的方法。

我认为下载单独的语言附加组件的最佳选择是完全放弃使用strings.xml。只需使用一个简单的CSV文件来保存字符串,将名称映射到字符串。当你的程序启动时,把它读入字符串数组/映射/等等,你就准备好了所有的字符串。这样,如果您想添加一种语言,只需下载一个文本文件并将其保存到数据目录即可。

此外,你可以在同一台服务器上保存一个列出所有可用语言的文件,这样如果你想添加季节性或限时语言,你就不必更新应用程序,就像你提到的那样。只需在文件中读取以获得列表。

注意,您需要一个地方来存放这些文件,但在当今这个时代,这几乎不是一个障碍。

最新更新