【问题标题】:strings xml Locale not changing字符串 xml 语言环境没有改变
【发布时间】:2019-11-25 10:58:51
【问题描述】:

我遇到的问题是在另一个语言环境中启动应用程序时,例如“de”,程序没有使用它打算使用的 strings.xml (de)。

“values”目录截图布局

更新:“en”语言环境文件有效,并且应用程序成功使用了该文件的字符串,但是当设置为另一种语言时,应用程序恢复为默认的 strings.xml 文件。我什至将文件设置为完全相同,但仍然没有运气。

编辑:通过在我的应用程序构建 gradle 中找到以下内容解决了这个问题! resConfigs "zh"

【问题讨论】:

  • 如果您删除没有任何语言环境的strings.xml 怎么办?
  • 那么应用程序在构建时根本不会启动崩溃,因为它返回资源未找到异常
  • 请分享您的 string.xml(de 版本)和原始版本。可能您错过了 de 版本上的一些字符串项。可能与原始版本的 de 上的字符串属性不匹配的数量。
  • 这不是问题,因为我通过将默认的 strings.xml 粘贴到每个文件中并通过我注意到的内容更改最后一个字母来测试这个问题,再次启动应用程序时它显示 strings.xml (默认)再一次。
  • it returns a Resource not found exception 那么它没有找到一个或多个需要的字符串资源。

标签: android locale


【解决方案1】:

解决方案:更改了应用程序 gradle 脚本。它最初有 resConfigs “en”,它阻止任何其他语言环境工作,所以我删除了该行。它在默认配置中。

之前:

android {
    compileSdkVersion 19
    buildToolsVersion '25.0.0'
    defaultConfig {
        applicationId 'com.xxxx.xxxx'
        minSdkVersion 19
        targetSdkVersion 19
        versionCode 1000
        versionName '1.05'
        resConfigs "en"
    }
}  

之后:

android {
    compileSdkVersion 19
    buildToolsVersion '25.0.0'
    defaultConfig {
        applicationId 'com.xxxx.xxxx'
        minSdkVersion 19
        targetSdkVersion 19
        versionCode 1000
        versionName '1.05'
    }
}    

【讨论】:

  • 你刚刚拯救了我的一天。谢谢。
  • @PSandeshBaliga 不用担心,我确实在那里坐了 2 天,尝试了所有不同的算法,它就在我面前。
  • 雅哈哈。我也发生了同样的事情。我想知道为什么它不能以 n 种不同的方式工作:(
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-01-21
  • 1970-01-01
  • 2011-09-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多