我有一个想法让用户将我的应用程序翻译成他们自己的语言。 我用这种方式想象:
如果应用程序未转换为用户的系统语言,则会显示英语版本的UI,并要求用户提供翻译帮助(很明显) 接下来,要求用户将一些短语从英语翻译成他的母语。并要求检查其他一些翻译。 (这有点工作,但没什么复杂的) 我的想法很难: 用户按下“更新翻译”,此应用程序的文本资源将更新到最新版本。 当然可以频繁更新,但这种方法有一些缺点: 1.我必须经常进行所有这些更新,并非所有用户都会满意。 2即使每周都要进行更新,大多数用户也会花费很长时间来获取结果,而且响应可能不会那么好。
您是否知道如何“在线”加载翻译?
答案 0 :(得分:1)
我使用以下方式完成了一些国际化:
我先检查一下他们是否有某种api。如果没有API,我会检查gettext的java实现并使用它来处理翻译。
答案 1 :(得分:1)
Android目前不支持此功能。要完成您想要的任务,您需要插入自己的资源处理代码,以便在UI中使用它们的任何地方返回字符串。这意味着你不能让框架本身加载字符串(例如在你的布局中没有使用android:text =“@ string / something”),并调用你自己的函数来检索包装了Resources.getString()/的字符串。的getText()。
而且您还需要处理资源ID不稳定的事实,并且可以随着应用的每次构建而改变。
所以你正在寻找一些非常重要的东西。
答案 2 :(得分:0)
您可以将任何当前用户的翻译缓存到SD /存储上的文件中,并将其显示给该特定用户。然后,当它获得每周更新时,删除缓存的文件并重新开始?