【发布时间】:2014-11-23 23:58:19
【问题描述】:
在我的应用程序的一种形式中,我有一个从字符串数组 android 资源填充的微调器,因此可以在 android 应用程序中创建额外的 XML 文件来管理翻译。表单数据通过 API 保存在 mongodb 中,如果相关,我也可以完全控制两者。
应用程序将以 5 种语言启动(以后可能会增加),因此我可以获得相同字符串的 5 个不同“版本”,但我希望在应用程序中以应用程序当时的语言看到这些字符串(独立于存储它的语言)。
如果可能,我想使用原生 android 翻译功能来实现这一点,即在应用程序中发送 5 个 XML 文件,每种语言一个。 我也想让服务器代码尽可能地笨。
到目前为止,我只能考虑在数据库中存储一个索引,然后使用 switch/case 循环,在应用程序视图中呈现数据。我根本不喜欢这样,因为可能的选项必须进行硬编码,任何更改都意味着新的应用版本。
这方面的最佳做法是什么?
【问题讨论】:
-
不知道您要归档什么。 5 个 xml 中的 5 种语言 - 好的,动态切换语言 - 当然 - 更改区域设置,然后更改配置,更新配置。但是 DB 和它有什么关系呢?
-
如果你把 db 从方程中去掉,就没有问题了。但是如果我想将表单中的数据存储在数据库中,就会出现问题。如果我的应用程序是英文的,并且微调器中的文本是存储的,当其他人检索它并拥有西班牙语的应用程序时,该文本仍将是英文
-
哦,所以你想翻译用户输入的内容?像在 xml @string/work => 'work' 和 xml-de @string/work => 'arbeit' 中,以及微调器调整?好吧,这应该没有问题,只需使用 R.string.work 生成您的微调器,语言环境将负责更改。除非用户输入未翻译的内容 - 否则 Android 会退回到默认设置。
标签: android mongodb android-widget persistent-storage