我正在努力国际化一个iPhone应用程序,并且我正在使用ibtool从我的xib文件中提取字符串,这样它们就可以由本地化机构翻译,如下所示:
ibtool --generate-strings-file BlahBlahView.strings English.lproj/BlahBlahView.xib这方面的问题是,当我真正想要i18n真正关心的子集时,我最终得到的i18n文件包含了xib中包含的所有字符串。有什么最佳做法来解决这个问题吗?理想情况下,我希望能够在接口构建器中添加某种注释,以说明“这是可本地化的”或“这是不可本地化的”,并且在运行它时,ibtool只输出可本地化的字符串。
谢谢!
编辑:好的,让我稍微扩展一下参数。解决方案不需要只使用ibtool。Ibtool + xib + shell脚本中的一些数据很好。只要能用就行!
发布于 2009-03-08 15:27:41
Ibtool的字符串--文件输出非常冗长--并根据对象id(而不是由唯一的源字符串)生成搅拌器。这种类型的输出在试图重新创建接口生成器或需要对xib文件中的对象进行广泛控制时非常有用,但当您只想本地化软件时就不那么需要了。
Digitalwaters.net的Matteo找到了一种将输出从ibtool转换到它的前身nibtool所使用的格式的方法,它的功能不那么强大,但在本地化方面要容易得多。更多信息,这里。
我重新使用了他的脚本来简化我们的Mac应用程序的本地化,它们对我很好。祝你好运:)
发布于 2009-03-07 05:00:39
我认为你可以自动完成这个任务,但是它需要一些步骤。您可以使用ibtool从xib中提取任意属性,因此可能可以将不可本地化项的标记设置为特定值(例如-1),然后提取标记并使用该标记过滤字符串文件并删除不需要的条目。
查看ibtool的手册页,特别是-export选项。
发布于 2010-12-16 09:46:48
ibtool不输出空字符串的条目。因此,例如,如果将UILabel的文本保留为空,它将不包含在ibtool --generate-strings-file的输出中。然后,可以在视图控制器中设置元素的文本。
https://stackoverflow.com/questions/616410
复制相似问题