我有一个symfony 2项目,它支持后端和前端的2种语言。我已经在配置中启用了翻译回退,允许管理员查看所有数据库记录,而不管他选择在后端使用哪种语言。但是,对于网站的前端,我希望禁用退路。如何在我想要的控制器中覆盖从true到false的转换回滚?
我正在使用Gedmo可在我的实体中翻译特定的列。
谢谢。
发布于 2015-02-25 19:42:54
我找到它了,http://blog.lazycloud.net/symfony2-doctrine2-extentions-translatable/
显然,我应该向实体添加一个$locale属性,并在其上方设置注释* @Gedmo\Locale。然后,我可以使用它覆盖实体的默认回退,方法是将区域设置设置为我希望使用的任何语言,然后调用$em->refresh($entity)
发布于 2015-02-22 19:12:14
当前用户的区域设置存储在请求中,可以通过请求对象访问,如下所示:
use Symfony\Component\HttpFoundation\Request;
public function indexAction(Request $request)
{
$locale = $request->getLocale();
$request->setLocale('en_US');
}更多细节这里
我想这就是你要找的。使用此设置,您可以覆盖区域设置。
如果您想设置回退区域设置,也可以这样做,使用:
$translator->setFallbackLocale(array('en'));提供给这里的更多详细信息
希望这能帮到你。
https://stackoverflow.com/questions/28661763
复制相似问题