php - Symfony2 语言环境检测和翻译

标签 php symfony translation locale

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

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

messages.en.yml中我有这样的结构:

请登录: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

然后最终恢复对 cache/和 log/文件夹的写入权限,如所述 here

关于php - Symfony2 语言环境检测和翻译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8801170/

相关文章:

php - 使用查询生成器比较日期

symfony - entityManager 保存和刷新

php - 如何使用 Gaufrette 和 Symfony 3.0

php - 使用 POEdit——只搜索特定域中的字符串

opencv - 估计单目相机的运动

php - 启动时启动 PHP 命令行

php - 使用php后台更新数据库

php - Woocommerce 如何在我的帐户页面上重定向自定义端点

javascript - 使用动态文本和输入进行字符串翻译

javascript - 我在 session 变量中传递了一个数组。我需要将击键传递给它以返回值