我似乎浪费了过去几个小时试图找到一个看似简单的问题的解决方案。交易很简单,我希望能够为我的翻译服务动态设置语言环境,所以
$this->translate('some string')
在我看来,使用将返回正确的翻译字符串。到目前为止,我发现的每一个解决方案都指向一个简单的代码片段Module::onBoostrap()
$e->getApplication()->getServiceManager()->get('Translator')->setLocale('some_LOCALE');
它没有错误,没有警告,运行顺利,只有一个异常,它不影响任何东西,上面的行(翻译助手)仍然使用 module.config.php 中定义的语言环境,我已经尝试了无数种方法,尝试通过 MVC 的不同部分设置语言环境(上帝禁止我什至尝试使用以下方法在我的视图中直接更改它:
$this->plugin('translate')->getTranslator()->setLocale('some_LOCALE')
所以总结一下:当从模块配置中设置语言环境时,翻译器可以正常工作,在其他任何地方设置它似乎没有任何效果。
任何帮助、提示、建议、指向解决方案的指针都会非常有用。
提前致谢