将Android Studio升级到3.2版后,我在本地化方面遇到了错误
我有字符串资源:将Android Studio升级到3.2版后,我在本地化方面遇到了错误,android,localization,resources,android-studio-3.2,Android,Localization,Resources,Android Studio 3.2,我有字符串资源: values\strings.xml(包含默认的英文字符串) value de\strings.xml(包含德语字符串) 在我将Android Studio更新到最新版本3.2之前,一切都还不错。 现在lint给了我很多关于默认字符串资源文件(values\strings.xml)的错误: 最好的解决方案是什么?我不想创建另一个文件夹值en,它只包含我的默认值\strings.xml资源的副本…您必须在应用程序级别的gradle中添加禁用“MissingTranslatio
- values\strings.xml(包含默认的英文字符串)李>
- value de\strings.xml(包含德语字符串)李>
最好的解决方案是什么?我不想创建另一个文件夹值en,它只包含我的默认值\strings.xml资源的副本…您必须在应用程序级别的gradle中添加
禁用“MissingTranslation”
android {
defaultConfig {
//Your config
}
lintOptions {
disable 'MissingTranslation'
}
}
在lint版本中,添加了3.2新功能。 有关这些功能的更多信息,请访问此参考:
缺少翻译
------------------
摘要:翻译不完整
优先权:8/10
严重性:错误
类别:正确性:消息
如果应用程序具有多个区域设置,则
一种语言也应翻译成所有其他语言。
如果不应转换字符串,则可以添加属性
元素上的translateable=“false”,或者您可以定义所有
名为donottranslate.xml的资源文件中的不可翻译字符串。或者,你
可以使用tools:ignore=“missingtransation”属性忽略问题。
您可以告诉lint(和其他工具)中的默认语言是哪种语言
通过为根目录指定tools:locale=“languageCode”来创建res/values/folder
资源文件中的元素。(工具前缀指的是
名称空间声明http://schemas.android.com/tools.)
根据本文的这一部分,您可以使用以下方法:
1.
<resources
xmlns:tools="http://schemas.android.com/tools"
tools:ignore="MissingTranslation">
...
</resources>
2.
<string name="any_name" translatable="false">anything</string>
1。
...
2.
任何东西
解决方案之一是在build.gradle文件中包含“重新配置”部分,如下所述
只保留我的应用程序正式支持的语言。在那之后,再也没有错误了
对我来说,这将是:
android {
defaultConfig {
...
resConfigs "de"
}
}
我喜欢这个解决方案,因为我不想完全禁用“MissingTranslation”功能。你找到解决方案了吗?
1.
<resources
xmlns:tools="http://schemas.android.com/tools"
tools:ignore="MissingTranslation">
...
</resources>
2.
<string name="any_name" translatable="false">anything</string>
android {
defaultConfig {
...
resConfigs "de"
}
}