Symfony2区域设置检测和转换

ArV*_*Van 3 php locale translation symfony

这就是我所坚持的.我正在研究Symfony2并尝试使翻译工作.但不知何故,我无法让它按预期工作.这就是我得到的.在config.yml中

translator:      { fallback: de }
session:
        default_locale: en
Run Code Online (Sandbox Code Playgroud)

messages.en.yml我有这个结构:

Please log in: Bitte melden Sie sich an

我也有类似的文件messages.en_US.yml,messages.ru.yml等等.

在我$this->get('session')->setLocale('ru_RU');用来更改语言环境的代码中.

但只有当语言环境设置为"en_US"或"de_DE"时,翻译才有效.在任何其他情况下,它返回键,而不是值.我尝试使用此代码进行翻译

return new Response($this->get('translator')->trans('Please log in').' '.$this->get('session')->getLocale()); 它返回我设置的语言环境.

那么什么可能导致这个问题呢?

sva*_*ssr 5

您应该使用symfony命令清除缓存

app/console cache:clear --no-debug
Run Code Online (Sandbox Code Playgroud)

然后最终恢复高速缓存的写入权限/和描述日志/文件夹,在这里