我在symfony 2.5中遇到了语言环境路线问题。 让我们说我的默认语言是英语。我的示例路由是/ user / register /。如果我在没有任何语言环境的情况下请求它,它应该出现英文翻译。如果我使用区域设置(例如/ fr / user / register /)请求它,它应该与它一起出现。这可以通过以下方式完成:
/**
* @Route("/{_locale}/user/register/")
* @Route("/user/register/")
* @Template()
*/
public function registerAction(Request $request)
{
$locale = $request->getLocale();
$translated = $this->get('translator')->trans('test.output');
echo $locale."<br>".$translated;
exit();
}
现在我要对此提出疑问:
答案 0 :(得分:1)
您可以添加路线要求,例如:
* @Route("/{_locale}/user/register/", requirements={"_locale" = "fr|it"})
有了这个,只有那些选项,那里列出的内容可以放入_locale占位符
编辑:
我现在明白你的问题。那么这里是您的解决方案: JsmI18n
答案 1 :(得分:1)
我知道这可以通过JMSI18nRoutingBundle来实现。不仅如此,您还可以使用以下案例:
/contact # For English language
/de/kontakt # For German