Layout Zend Framework 2为布局内的导航助手设置转换器

Layout Zend Framework 2为布局内的导航助手设置转换器,layout,navigation,zend-framework2,Layout,Navigation,Zend Framework2,从骨架应用程序开始,我想创建一个多语言项目。对于导航,我使用Zend\Navigation。Everyhting运行良好-没有为导航视图帮助器设置转换器 转换器在module.config.php中注册,适用于所有类型的翻译(包括在布局中的translate view helper)。但是为了能够翻译导航标签,我需要将转换器设置为导航视图帮助器。根据文件,这可以这样做: $this->navigation()->setTranslator($translator); 或者类似的。问

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

转换器在module.config.php中注册,适用于所有类型的翻译(包括在布局中的translate view helper)。但是为了能够翻译导航标签,我需要将转换器设置为导航视图帮助器。根据文件,这可以这样做:

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

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

而不是使用导航设置转换器,因为它已经按照您所说的配置好了,您可以使用TextDomain。以下是我目前的工作:

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

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

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

echo$this->translate('translatethisttext','textdomainhere')