【发布时间】:2011-08-10 06:30:13
【问题描述】:
我正在寻找一种从.xib 文件中提取所有可本地化字符串并将它们全部保存在一个文件中的方法。
这可能涉及ibtool,但我无法确定一种仅将所有这些合并到一个翻译词典中的方法(可能是.strings、.plist 或其他)。
【问题讨论】:
-
@Lukasz 不是一个完整的,但当我有解决方案时,我一定会发布答案。
标签: localization xib ibtool
我正在寻找一种从.xib 文件中提取所有可本地化字符串并将它们全部保存在一个文件中的方法。
这可能涉及ibtool,但我无法确定一种仅将所有这些合并到一个翻译词典中的方法(可能是.strings、.plist 或其他)。
【问题讨论】:
标签: localization xib ibtool
打开终端并 cd 到项目的根目录(或存储所有 XIB 文件的目录)并输入以下命令:
find . -name \*.xib | xargs -t -I '{}' ibtool --generate-strings-file '{}'.txt '{}'
神奇之处在于 find 和 xargs 命令一起工作。 -I 选项生成占位符。 -t 仅用于详细输出(您会看到已生成并执行了哪些命令)。 它在同一目录中生成与 xib 文件同名的 txts 文件。 可以改进此命令以将输出连接到一个文件中,但仍然是一个很好的起点。
将它们结合在一起:
您可以使用类似的终端命令将这些新创建的文件连接成一个:
find . -name \*.xib.txt | xargs -t -I '{}' cat '{}' > ./xib-strings-concatenated.txt
此命令会将所有字符串放入根目录下的一个文件 xib-strings-concatenated.txt 中。
您可以再次使用 find 和 xargs 删除生成的部分文件(如果需要):
find . -name \*.xib.txt | xargs -t -I '{}' rm -f '{}'
【讨论】:
这现在容易多了。
在 xcode 中,选择您的项目(不是目标)
然后使用菜单/编辑器/导出进行本地化
xcode 将输出一个 xliff 文件,其中包含整个项目中所有可本地化的字符串。
【讨论】: