You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android应用级语言配置:默认英文无法被系统选择的问题咨询

Android 应用级语言配置:默认英文资源无法作为可选语言的解决方法

当前配置情况

  • res/values/strings.xml:默认英文资源
  • res/values-it/strings.xml:意大利语翻译资源

已配置Gradle:

androidResources {
    generateLocaleConfig = true
}

同时创建res/resources.properties文件,内容:

unqualifiedResLocale=ita

遇到的问题

  • 配置的默认区域设置未生效,应用仍使用系统默认语言
  • 系统应用语言设置中仅显示「系统默认(当前设备为意大利语)」和两个意大利语选项,无法选择英文

临时解决方法

创建values-en文件夹并复制默认strings.xml,英文选项出现,但产生两份需同步维护的重复资源文件,存在冗余。

正规解决方案

无需复制默认资源文件,通过以下步骤即可让系统识别默认英文为可选语言:

  1. 修正resources.properties配置
    将unqualifiedResLocale的值改为en——该配置用于告诉构建工具,未指定区域的values文件夹对应的语言类型,因为你的默认资源是英文,所以要对应设置:

    unqualifiedResLocale=en
    
  2. 验证Locale Config生成结果
    构建应用后,可在build/intermediates/locale_config/debug目录下查看自动生成的locale_config.xml,确认其中包含<locale android:name="en"/>和<locale android:name="it"/>两个条目。

  3. 保持Gradle配置不变
    继续保留generateLocaleConfig = true,该配置会自动收集应用支持的语言列表,供系统语言设置识别。

原理说明

之前将unqualifiedResLocale设为ita,会让构建工具错误地将默认values文件夹识别为意大利语资源,和values-it内容重复,导致系统无法识别到英文选项。修正为en后,构建工具会正确标记默认资源为英文,结合values-it的意大利语资源,生成包含两种语言的Locale Config,系统设置里就会出现英文选项。


内容的提问来源于stack exchange,提问作者user.kt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 00:39:59