如何拆分前端和后端翻译?

时间:2014-08-18 13:54:59

标签: gettext

我有一个由gettext翻译的网络项目(php + js)。后来它只在服务器端翻译,通过改变奇怪的方式将翻译推送到JS。现在我将它转换为所有gettext,通过po2json转换我的.po文件并将它们加载到Jed库中。但是这样我加载所有翻译,甚至从未在客户端上使用过!

我现在想做什么:

xgettext -js-options *.js > js-empty.po
xgettext -php-options *.php > php-empty.po
magic both-translated.po js-empty.po > js-translated.po
magic both-translated.po php-empty.po > php-translated.po

我应该将什么用作“魔法”?

P.S。我将在一个文件中进行实际翻译,然后在每次构建时进行拆分以进行优化。

1 个答案:

答案 0 :(得分:0)

我找到了解决方案:

msgcomm both-translated.po js-empty.po -o js-translated.po

目视检查确认了哪些行被翻译,并且以下命令确认了msgid'在空文件和翻译文件中是相同的:

grep msgid $1 | wc -l

添加更多值来回答:推荐的Python库https://pypi.python.org/pypi/polib,或主要的Linux发行版,软件包&#python3-polib'或者' python-polib'。我正在考虑使用它来执行任务,并且将来可能会用于其他与gettext相关的任务。