android 疑惑

在很多的andorid samples中的strings.xml中很多都带有<xliff:g>标签。比如:

<stringname="countdown"><xliff:g id="time" example="5days>%1$s</xliff:g>until holiday </string>。其中Xliff是XMLLocalization Interchange File Format 的缩写,中文名为XML本地化数据交换格式。

不明白是什么用途,网上也有一些文章有相关介绍,但是也都没说明白和不带该标签的字符串有什么区别,故特地研究了一番。

Xliff:g标签出自android文档localizationchecklist中(https://developer.android.com/intl/zh-cn/distribute/tools/localization-checklist.html).里面有说说明为:

Markmessage parts that should not be translated

Oftenstrings contain contain text that shouldn’t be translated to other languages.Common examples might be a piece of code, a placeholder for a value, a specialsymbol, or a name. As you prepare you strings for translation, look for andmark text that should remain as-is, without translation, so that translatorsdon’t change it.

标记不应翻译的消息部分

有时候字符串中包含不应被翻译为其他语言的文本。 常见的示例包括代码、某个值的占位符、特殊符号或名称。 在准备翻译字符串时,请查找并标记应该保留原样而不需要翻译的文本,这样翻译人员就不会更改这些内容。

要标记不应翻译的文本,请使用 <xliff:g> 占位符标记。以下示例标记可确保文本“%1$s”在翻译过程中不会被更改(否则这条消息会被破坏)。

是不是看了上面的说明仍然一头雾水,反正我是觉得看了和没看差不多。只知道是用于标记不应翻译的场景。但是什么是不应翻译的场景呢,不清楚。

故先标记该文章,作用有2:

1.希望有了解这块的同学帮忙解答疑惑,在此表示感谢;

2.如果后续看到问题答案,以便回来更新。

你可能感兴趣的:(android 疑惑)