Zend Framework 2在布局中为Navigation-Helper设置了转换器

时间:2012-11-27 09:56:48

标签: layout navigation zend-framework2

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

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

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

或类似的东西。问题是我无法从布局中找到如何获取配置的转换器。有没有办法访问ServiceManager或获取服务定位器?

1 个答案:

答案 0 :(得分:0)

不是使用导航设置翻译器,因为它已按照您的说法进行了配置,而是可以使用TextDomain。以下是我目前的工作:

$这 - >导航( '的Zend \导航\导航') - > setTranslatorTextDomain( 'textdomainhere');

当然,如果您的所有翻译都在默认的相同textdomain中,那么您无需设置任何内容:$ this-> navigation('Zend \ Navigation \ Navigation');

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

echo $ this-> translate('Translate This Text','textdomainhere');