标记一些XIB /故事板串不本地化

问题描述 投票:13回答:3

我使用基地用于国际XIB /故事板文件,并使用XLIFF文件“导出本地化”的方法进行翻译。

我有有应该翻译的文字一些标签,按钮等,但我也有在这里我们使用一些占位符文本(如全名)标签,所以你可以看到视图会是什么样当填充数据一样,但这些标签总是有自己的文字从一个出口来编程。

有没有一些方法,以便它不会在XLIFF结束(或造成.strings)文件来标记在厦门国际银行设置为不可本地化此标签的财产的.text。

我知道我可以删除文本 - 我也想过有一个前缀(如@“DNL!”)是指译者不应该本地化,但我希望能有只是为了做到这一点的标准方式。

ios xcode localization storyboard xib
3个回答
4
投票

这是现在可以使用BartyCrouch命令行实用程序,我最近写了解决this problem(见线程在my answer安装说明)。

BartyCrouch运行ibtool为你和它造成.strings文件的顶部做其他处理。如果包括#bc-ignore!到你的价值或你的基地国际化情节提要/ XIB文件中注释掉它会排除翻译的见解。

请检查出related section within the README on GitHub的详细信息。


6
投票

我在身份标签添加备注“DNL”到“评论为航向”字段。然后,我运行这个命令来自动删除所有从XLIFF这些元素:

xmlstarlet ed -d "//*[contains(text(), 'Note = \"DNL\"')]/.." en.xliff > out.xliff

基本上,这是用xmlstarlet(可以通过自制软件下载)查找包含文本Note = "DNL"所有元素,然后删除从XLIFF该元素的父。

使用xcodebuild -exportLocalizations相结合,你可以做一个非常简单的脚本生成您XLIFFs:

xcodebuild -exportLocalizations -localizationPath build -project ProjectName.xcodeproj
xmlstarlet ed -d "//*[contains(text(), 'Note = \"DNL\"')]/.." build/en.xliff > build/out.xliff 

5
投票

原来,从Xcode的本地化出口忽略了故事板归于字符串。

所以只要设置文本的类型,为每个标签/按钮要排除在属性检查器Attributed

enter image description here

这会给你一个属性字符串,而不是一个普通的字符串,因为据我所知,有没有影响,从属性的(空)列表必须保持在内存中现在除了。

© www.soinside.com 2019 - 2024. All rights reserved.