从本地化中排除占位符文本

Posted

技术标签:

【中文标题】从本地化中排除占位符文本【英文标题】:Excluding place holder texts from localisations 【发布时间】:2014-07-02 16:46:14 【问题描述】:

当我设计单元格布局时,我通常会指定一个示例文本,例如将“John Appleseed”添加到“名称”标签,以便我可以轻松查看该字段在布局上的位置并检查组合。否则在白色背景上有一个空标签。显然这个文本不需要翻译,因为它总是会在运行时被另一个值替换。

我可以在对象检查器中设置任何属性以从 .strings / XLIFF 文件中排除此文本吗?翻译人员通常按字数收费,所以我不想发送这些文本进行翻译。

目前我使用“~”前缀,然后使用 Ruby 脚本删除这些文本,但我想知道是否有更简单的方法。

【问题讨论】:

【参考方案1】:

很遗憾,如果您使用的是ibtool(并且您实际上没有其他选择),您不能直接排除单词。

您可以做的是在导出 XLIFF 文件后对其进行编辑,并在要排除的字符串上添加属性 translate="no"。您应该确保您的翻译人员使用兼容 XLIFF 的工具进行翻译。

但是,恕我直言,这并不比你的方式更好。

另请参阅question 1、question 2 和 ibtool 的 manual。

【讨论】:

我是否必须在每次导出时手动编辑 xliff 文件以说出 translate="no",或者如果我重新导入编辑后的 ​​xliff,Xcode 会在下次导出时保留该属性吗?

以上是关于从本地化中排除占位符文本的主要内容,如果未能解决你的问题,请参考以下文章

日期/时间占位符本地化

如何使用格式化占位符本地化字符串?

如何在 intl.formatMessage 中使用占位符

如何在swift中使用Google Material MDCOutlinedTextField从文本字段中删除占位符文本?

下载图像时使用 gif 作为占位符

从 Google Maps Places API 中删除占位符文本