10

我有可以访问 Internet 的应用程序,并且不想存储许多string.xml不同语言的文件。

我想要的是:

  1. 应用程序仅包含一个string.xml带有英文字符串的应用程序。
  2. 当用户启动它时 - 我看到用户的电话区域设置,并向我自己的服务器询问必要的语言文件。(资源键将是相同的)
  3. 当新资源文件到来时,所有界面都应该使用新文件。

问题是如何string.xml在运行时更改现有文件或添加新文件?

4

3 回答 3

3

您显然不能strings.xml在运行时更改、下载或删除

如果要存储位置,则必须使用 SQLite 存储来存储翻译。

类似:
如何在运行时修改strings.xml文件
运行时修改strings.xml

于 2012-02-20T17:14:24.000 回答
3

现在我只能看到解决方案:

  1. 创建一些“本地化代理”,它将返回我必要的资源(来自string.xml或下载的资源)
  2. 全部替换getString()getText()您自己的方法getStringFromLocalization
  3. 使用自定义视图覆盖和其他一些视图TextViewButton并在其中更改 init 和setText方法。
于 2012-02-20T17:18:51.587 回答
0

使用已编译的资源文件覆盖标准资源/语言,然后您的自定义性能会变得很糟糕。仅在您需要时才这样做。

于 2016-03-04T09:50:11.740 回答