是否有可能在单独的资源文件中翻译一些字符串,但不是全部,而不会让Lint抱怨缺少翻译?
例如:我的应用程序的字符串都在res/value/strings.xml.其中一个字符串是
<代码>
由于“邮政编码”在美国通常被称为“邮政编码”,我想在rUS/strings中添加另一个资源res/values。包含内容的xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="postal_code">Zip Code</string>
</resources>
然而,Lint抱怨值/strings.xml中的其他字符串,但不抱怨值-en-rUS/strings.xml
我意识到您可以通过指定工具来抑制警告:忽略值/strings.xml.中的
但这是不可取的,因为Lint警告在翻译成另一种语言时实际上很有用。
相反,是否可以抑制rUS/字符串中的值中的警告。xml文件,如中所示,告诉Lint在查找丢失的翻译时不要使用该文件作为标准?
Lint支持部分区域翻译,但需要知道默认字符串是什么语言。这样,它就可以区分部分地区翻译和不同地区的缺失翻译。
在值/字符串中指定区域设置。xml:
<resources xmlns:tools="http://schemas.android.com/tools" tools:locale="en">
运行lint--show
时引用lint命令行工具:
By default this detector allows regions of a language to just provide a
subset of the strings and fall back to the standard language strings. [...]
You can tell lint (and other tools) which language is the default language
in your res/values/ folder by specifying tools:locale="languageCode" for
the root <resources> element in your resource file. (The tools prefix
refers to the namespace declaration http://schemas.android.com/tools.)
资料来源:https://android.googlesource.com/platform/tools/base//master/lint/libs/lint checks/src/main/java/com/android/tools/lint/checks/TranslationDetector。爪哇#88
将语言环境规范添加到您的默认语言文件中,您不应该收到en-rUS
的错误,但仍会收到任何其他丢失的翻译的通知。
根据这个答案,我找到了一个更好的解决方案:https://stackoverflow.com/a/13797364/190309
只需将忽略="Missing转换"
添加到您的string.xml
中,例如:
<?xml version="1.0" encoding="utf-8"?>
<resources
xmlns:tools="http://schemas.android.com/tools"
tools:ignore="MissingTranslation" >
<!-- your strings here; no need now for the translatable attribute -->
</resources>
禁用MissingTranslations检查的一个好方法是在特定于模块的构建中添加选项。gradle文件。
android {
lintOptions{
disable 'MissingTranslation'
}
//other build tags
}
如果字符串不在特定于语言环境的字符串文件中,它将从默认文件中获取字符串,该文件通常是字符串。xml。
问题内容: 我有一个模板与此: Django自动将此翻译为Terminarsesión西班牙语。但是,我想将其翻译为Cerrarsesión。 我试图将此文字添加到.po文件中,但是在编译消息时出现错误,指出该文字重复。 有没有一种方法可以更改/覆盖默认的Django翻译? 谢谢。 问题答案: 最简单的方法是收集在django.contrib.admin语言环境文件夹中找到的.po文件,然后重新编
我正在创建一个Wordpress主题,它将从英语翻译成法语。我已经使用Wordpress的gettext函数包含了所有字符串。 但是 我想在网站的英文版上打印一个特定字符串的法文版,反之亦然。我试过这个(英文版): 但是后来Podit抱怨了一个非ASCII字符串。所以,目前,在英文版中,我有 如何输出该字符串的法语翻译,即使语言环境设置为使用英语?
问题内容: 我在相当大的Angular项目上使用angular-translate。我将项目分为多个模块以使其更易于管理,但是无法分解每个模块的翻译字符串。 例如,我有模块A和B,其中B是A的子模块。有一些与模块A覆盖的HTML有关的字符串,它们位于’/json/localization/A/en.json’中。同样,我在’/json/localization/B/en.json’中放置了与B有关
问题内容: 我知道大多数人都使用下面的方法,并为需要翻译的特定表创建翻译表,但这可能会导致大量的表。 以下方法可行吗?假设您有很多表需要翻译超过1列。您能将以下所有翻译都保留在一张表格中吗?我想这张桌子的大小会随着时间的推移而大大增加。 因此,使用第二种方法,您将获得像这样的文本 问题答案: 我不确定您为什么担心表的数量:减少表的数量并不能自动意味着您的数据库更小,更高效或设计更好。特别是如果减少
我有一个从xml文档中读取数据的程序。在这个xml文档中,一些属性包含特殊字符,如“\n”、“t”等。 有没有一种简单的方法可以将所有这些字符串替换为实际的字符,或者我必须像下面的例子一样为每个字符手动替换? 手动示例: 编辑: 我正在寻找某种方法来处理字符串,就像这样的转义字符串(尽管我知道这是行不通的)
我正在用Django做一个中文博客。我用中文写所有我能控制的东西,如文章文本,博客标题,博客导航,评论和联系人表单的标签标签。我唯一不能控制的是表单提交错误,如“此字段是必需的。”,“输入有效的电子邮件地址。”。因为我使用django评论框架和表单库来制作我的评论表单和联系人表单,我不知道如何将英文版替换成中文版。 为什么django翻译一些错误消息而忽略其他错误消息? 如果django不能自动翻