0



我们将 ZF3 用于具有国际化的大型应用程序。
i18n 是使用 zend-i18n、zend-mvc-i18n 和 xgettext cli 完成的,用于提取/编译 pot/po/mo 文件。
对于某些Contact可能是动词或名词的词,我们指定了$textDomain:$this->translate('Contact', 'Verb')$this->translate('Contact', 'Noun')

问题是,当我们提取这些字符串时,它们都在同一个 pot 文件中。
由于 Zend 通过 textDomain 加载翻译文件,如果我们可以pot通过 textDomain 拆分文件会更好,但似乎 xgettext 不能这样做。

有人可以帮助我们使用 Zend 和 gettext 正确管理 textDomains 吗?

4

1 回答 1

0

对于那些可能有同样问题的人,我们最终创建了自己的Gettext文件加载器,它可以正确解析 msgctxt 并返回一个TextDomain由 msgctxt 结构化的文件。
我们还创建了自己的函数Translator extends Zend\I18n\Translator\Translator来覆盖loadMessagesFrom...函数并正确更新$this->messages变量

于 2018-01-03T12:13:06.507 回答