【发布时间】:2012-09-24 15:11:36
【问题描述】:
在我的 ZF2 应用程序中,我想检索用于翻译页面的语言。我使用ZendSkeletonApplication 作为基础。在 Module.php 我设置 Locale 像这样:
public function onBootstrap($e){
$translator = $e->getApplication()->getServiceManager()->get('translator');
$translator->setLocale(
Locale::acceptFromHttp($_SERVER['HTTP_ACCEPT_LANGUAGE'])
)
->setFallbackLocale('en_US');
}
我可以从 Zend\I18n\Translator\Translator 中检索 locale 和 fallbackLocale,但是我仍然不知道哪一个用于翻译。因为也没有办法(就我没有找到)找出实际加载到翻译器中的语言。如果 locale 存在翻译,我什至无法测试自己。
也许我在这里遗漏了一些东西。我希望有人能指出这一点。
【问题讨论】:
-
您可以扩展
Translator类,覆盖translate()方法并将使用的语言键保存在属性中。 -
@DanielM 这是一个选项,但我想检查 onBootstrap 事件中的语言,并且该视图可能未呈现。不管怎样,谢谢你的评论。
标签: zend-framework2 zend-translate