我有以下情况:
我要翻译的一个产品,它有两个独立的网站,一个用于管理员,一个用于客户 代码库是CakePHP 两个站点彼此完全分离,它们是完整的CakePHP站点 而且他们都有很多共同点。
因此,使用CakePHP,我为每个站点生成.pot文件,但我很乐意为翻译者提供一个文件,两个.pot文件中都有唯一的字符串。
他们会给我一个带有两个网站字符串的.po文件,我只是将同一个文件复制到两个网站,所以我会有.po文件,其中包含代码不会使用的额外字符串,但这应该不是问题。
所以问题基本上是......如何合并两个.pot文件?
你知道有什么工具让我这样做吗?我真的很想避免写自己的。
这些是我上面谈到的评论:
#: \controllers\accounts_controller.php:118
#: \controllers\customer_documents_controller.php:75
msgid "Parent Customer not specified"
msgstr ""
答案 0 :(得分:26)
好的,所以执行此操作的工具是msgcat
msgcat *.pot > all.pot
如果你在Windows上,请安装cygwin,并确保你拥有gettext-devel包,因为msgcat不在常规gettext package中。
答案 1 :(得分:1)
msgcat 不应该是正确的答案,msgcat 适用于 .po 文件,但由于文档原因,它不适用于 .pot 文件:
<块引用>要连接 POT 文件,最好使用 xgettext,而不是 msgcat,因为 msgcat 会阻塞指定 POT 中未定义的字符集 文件。
正确的是:
xgettext input/*.pot -o out.pot
答案 2 :(得分:-3)
命令是:
msgcat inputfile1 inputfile2 ... > outpo