0

早上好。在我的 android 应用程序中,我在 assets 目录中有一个文件更改日志。我也创建了目录 assets-it,并且我已经将意大利语放入了文件更改日志,但是当我启动应用程序时,如果设备语言设置为意大利语,它也总是将文件显示到 assets 目录中。为什么 ?

4

2 回答 2

2

这是预期的行为。res/可以以这种方式本地化资源,但assets/目录不能。

由于它只是一个变更日志,我建议将其作为本地化字符串资源存储在res/values-LOCALE/. 如果您真的想要资产本地化,您可以通过获取当前语言环境并加载,例如assets/changelog-envs.来手动重新创建它assets/changelog-it,但我认为这通常不是一个好主意,而且在您的情况下当然没有必要。

于 2012-06-14T02:17:57.897 回答
1

尝试这个:

  1. 将两个变更日志文件放入 assets 文件夹:

路径例如: assets/ en /changelog_file 和 assets/ it /changelog_file

  1. 将此输入您的/strings.xml:

<string name="changelog_file">file:///android_asset/en/changelog_file</string>

  1. 输入你的值 - 它/strings.xml:

<string name="changelog_file">file:///android_asset/it/changelog_file</string>

像这样,您可以从代码中调用字符串:getResources().getString(R.string.changelog_file),它会根据设备区域设置调用 values-en 或 values-it。

于 2017-02-15T18:24:26.553 回答