2

从骨架应用程序开始,我想创建一个多语言项目。对于导航,我使用 Zend\Navigation。Everyhting 运行良好 - 没有为导航视图助手设置翻译器。

翻译器在 module.config.php 中注册,适用于各种翻译(包括翻译视图助手,也在布局中)。但是为了能够翻译导航标签,我需要将翻译器设置为导航视图助手。根据文档,这可以这样完成:

$this->navigation()->setTranslator($translator);

或类似的东西。问题是我不知道如何从布局中获取配置的翻译器。有没有办法访问 ServiceManager 或获取服务定位器?

4

1 回答 1

0

无需使用导航设置翻译器,因为它已经按照您所说的进行配置,您可以使用 TextDomain 代替。这是我目前所做的:

$this->navigation('Zend\Navigation\Navigation')->setTranslatorTextDomain('textdomainhere');

当然如果你所有的翻译都在同一个默认的文本域中,那么你不需要设置任何东西: $this->navigation('Zend\Navigation\Navigation');

至于让翻译在布局中工作,你所做的就是:

echo $this->translate('翻译此文本', 'textdomainhere');

于 2012-11-27T23:11:31.520 回答