繁体   English   中英

Symfony2区域设置检测和转换

[英]Symfony2 locale detection and translation

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

translator:      { fallback: de }
session:
        default_locale: en

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

Please log in: Bitte melden Sie sich an

我也有类似的文件messages.en_US.ymlmessages.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()); 它返回我设置的语言环境。

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

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

app/console cache:clear --no-debug

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

我自己找到了答案。 只需要清理Symfony的缓存。 使用控制台这样做。 将目录更改为myProject/app并使用此命令清理缓存和日志:

sudo rm -R cache/
sudo rm -R logs/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM