Symfony2语言检测和翻译
-
25-10-2019 - |
题
这是我坚持的。我正在研究Symfony2,并试图使翻译正常工作。但是不知何故,我不能尽可能地工作。这就是我得到的。在config.yml中
translator: { fallback: de }
session:
default_locale: en
在 messages.en.yml
我有这个结构:
Please log in: Bitte melden Sie sich an
我也有类似的文件 messages.en_US.yml
, messages.ru.yml
, , ETC。
在我使用的代码中 $this->get('session')->setLocale('ru_RU');
改变语言环境。
但是,仅当将语言环境设置为“ en_us”或“ de_de”时,翻译才起作用。在任何其他情况下,它都会返回密钥,而不是值。我尝试使用此代码的翻译
return new Response($this->get('translator')->trans('Please log in').' '.$this->get('session')->getLocale());
它返回我设置的语言环境。
那么什么会导致这个问题?
解决方案 2
我自己找到了答案。只需要清理Symfony的缓存即可。使用的控制台可以这样做。将目录更改为 myProject/app
并使用此命令清洁缓存和日志:
sudo rm -R cache/
sudo rm -R logs/
其他提示
不隶属于 StackOverflow