【问题标题】:How to split frontend and backend translations?如何拆分前端和后端翻译?
【发布时间】:2014-08-18 13:54:59
【问题描述】:

我有一个由 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

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

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

【问题讨论】:

    标签: gettext


    【解决方案1】:

    我找到了解决办法:

    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 相关的任务。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-06
      • 2013-08-31
      • 2010-11-13
      • 1970-01-01
      • 2015-03-31
      • 2011-02-06
      相关资源
      最近更新 更多