0
缓存在我的应用程序的翻译,我有两类译文:添加不应该从控制器
- 静态字眼是模板布局(如“上一页”,“取消”的一部分。 ..)
- 动态字眼正在从数据库中提取,并可以为每个请求改变(如博客文章标题,可以在数据库中会发生变化)
我用Symfony的翻译小号请在我的树枝模板中使用静态措辞,使用过滤器。它可以很好地处理静态文字,但动态文字变得越来越困难。
添加我动态字眼这样,一个控制器动作中:
$trans = $this->get('translator');
$trans->addLoader('array', new ArrayLoader());
$trans->addResource('array', array('BLOG_ARTICLE_TITLE'=>$article->getTitle('french')), 'fr', 'messages');
// ...
return new Response();
然后,我在前端应用与跨在我的模板或与BazingaJsTranslationBundle使用它。
我想我有一个缓存问题:对于动态措辞,我经常会在页面上得到旧的字词或翻译键 - 即使在返回响应之前在控制器上完成添加。
但是,当我清除缓存(应用程序/控制台清除:缓存)并重新加载页面时,我得到正确的措辞。
有没有办法告诉Symfony不缓存动态添加的措辞? 还是另一种适合更多翻译动态添加的翻译方法?