每个应用程序语言首选项默认字符串 XML

问题描述 投票:0回答:1

我正在实现每个应用程序语言来了解它是如何工作的,因此我使用此配置创建了一个应用程序:

  • res/values/strings.xml <-- (default english values)
  • res/values-it/strings.xml <-- (italian string translate)

我已经遵循了官方指南并且仅添加

就可以正常工作
androidResources {
    generateLocaleConfig = true
  }

并创建包含以下内容的 res/resources.properties 文件:

unqualifiedResLocale=ita

旁注:构建应用程序所需的默认区域设置值似乎被忽略,因为应用程序仍然使用系统默认语言。

问题:系统不允许我选择英语,因为在系统应用程序语言设置中我只有“系统默认值”(这意味着该设备中的意大利语)和意大利语(其中两个,一个特定于意大利,另一个特定于意大利)需要区域选择的通用)。

解决方法:创建文件夹“values-en”并复制default/english strings.xml 文件。这工作正常,在设置中现在有英语,但在代码中现在我有两个克隆的 strings.xml 文件,应该在每次更改时更新(好吧,最后没什么大不了的)。

问题:有正确的方法吗?指定默认的 strings.xml 应该用作可选语言,或者这就是预期的工作方式?

android locale
1个回答
0
投票

从这个功能中注意到完全相同的事情,到目前为止,完成这项工作的唯一方法就是您提到的解决方法。幸运的是,您似乎不需要将包含所有本地化的整个 strings.xml 复制到 value-en 文件夹,那里有一个空的 strings.xml 资源文件就足够了,因为系统可以使用来自的英语本地化默认资源文件夹

© www.soinside.com 2019 - 2024. All rights reserved.