15

我正在寻找一种从.xib文件中提取所有可本地化字符串并将它们全部保存在一个文件中的方法。

可能这涉及ibtool但我无法确定一种将所有这些合并到一个翻译词典中的方法(可能是.strings.plist或其他)。

4

2 回答 2

37

打开终端并 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 '{}'
于 2011-10-13T13:31:27.837 回答
8

这现在容易多了。

在 xcode 中,选择您的项目(不是目标)

然后使用菜单/编辑器/导出进行本地化

xcode 将输出一个 xliff 文件,其中包含整个项目中所有可本地化的字符串。

于 2015-01-14T15:14:47.510 回答