我们将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吗?
答案 0 :(得分:0)
对于那些可能遇到同样问题的人,我们最终创建了自己的Gettext
文件加载器,它正确解析msgctxt并返回由msgctxt构造的TextDomain
。
我们还创建了自己的Translator extends Zend\I18n\Translator\Translator
来覆盖loadMessagesFrom...
函数并正确更新$this->messages
变量