Android多语言本地化
合适的插件让事半功倍
如何忽略翻译
在做多语言本地化的时候,string.xml文件有时需要忽略翻译。可以使用<translatable和>
和<xliff:g>
标签。
使用< translatable >
<string name="app_name" translatable="false">HelloAndroid</string>
可以使用 translatable 或 xliff:g 标签。示例:
使用< xliff:g >
字符串中常常包含不应翻译成其他语言的文本。常见的示例包括一段代码、某个值的占位符、特殊符号或名称。准备字符串进行翻译时,请查找并标记应保持原样不进行翻译的文本,以避免翻译人员对其进行更改。
如要标记不应翻译的文本,可以使用 < xliff:g >
占位符标记。以下标记示例可以确保文本“%1$s”在翻译过程中不会被更改(否则它会破坏消息):
<string name="countdown">
<xliff:g id="time" example="5 days">%1$s</xliff:g>
until holiday
</string>
在声明占位符标记时,请务必添加说明此占位符用途的 ID 属性。如果您的应用稍后会替换占位符的值,请务必提供属性示例来说明预期的用途。
以下是一些其他占位符标记的示例:
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- Example placeholder for a special unicode symbol -->
<string name="star_rating">Check out our 5
<xliff:g id="star">\u2605</xliff:g>
</string>
<!-- Example placeholder for a URL -->
<string name="app_homeurl">
Visit us at
<xliff:g
id="application_homepage">http://my/app/home.html
</xliff:g>
</string>
<!-- Example placeholder for a name -->
<string name="prod_name">
Learn more at
<xliff:g id="prod_gamegroup">Game Group</xliff:g>
</string>
<!-- Example placeholder for a literal -->
<string name="promo_message">
Please use the "<xliff:g id="promotion_code">ABCDEFG</xliff:g>" to get a discount.
</string>
...
</resources>
留下评论