使用zend-framework3和gettext处理textDomains

时间:2017-12-26 16:52:49

标签: php internationalization gettext zend-framework3 xgettext



我们将ZF3用于具有国际化的大型应用 i18n用zend-i18n,zend-mvc-i18n和xgettext cli完成,用于提取/编译pot / po / mo文件。
对于像Contact这样可以是动词或名词的单词,我们已经指定了$textDomain$this->translate('Contact', 'Verb')$this->translate('Contact', 'Noun')

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

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

1 个答案:

答案 0 :(得分:0)

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