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

问题描述 投票:1回答:1

我有一个由gettext翻译的Web项目(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

我应该用什么作为“魔术”?

PS:我将在一个文件中进行实际翻译,然后在每个构建中仅出于优化目的进行拆分。

gettext
1个回答
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相关的任务。

© www.soinside.com 2019 - 2024. All rights reserved.