如何从所有XIB文件中提取所有可本地化的字符串到一个文件中?

sor*_*rin 15 localization xib ibtool

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

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

Luk*_*asz 34

打开终端并cd到项目的根目录(或存储所有XIB文件的目录)并输入以下命令:

find . -name \*.xib | xargs -t -I '{}' ibtool --generate-strings-file '{}'.txt '{}'
Run Code Online (Sandbox Code Playgroud)

神奇的是find和xargs命令一起工作.-I选项生成占位符.-t仅用于详细输出(您可以看到已生成并执行了哪些命令).它生成与同一目录中的xib文件同名的txts文件.可以改进此命令以将输出连接到一个文件中,但仍然是一个很好的起点.

加入他们:

您可以使用类似的终端命令将这些新创建的文件连接成一个:

find . -name \*.xib.txt | xargs -t -I '{}' cat '{}' > ./xib-strings-concatenated.txt
Run Code Online (Sandbox Code Playgroud)

此命令将所有字符串放入根目录中的一个文件xib-strings-concatenated.txt中.

您可以再次使用find和xargs删除生成的部分文件(如果需要):

find . -name \*.xib.txt | xargs -t -I '{}' rm -f '{}'
Run Code Online (Sandbox Code Playgroud)


Con*_*lon 6

现在这很容易了.

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

然后使用menu/editor/export进行本地化

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