我的网站的所有路由都是基于注释实现的。现在,我想翻译我的路由。为了实现这一点,我尝试使用捆绑JMSI18nRoutingBundle。
尽管如此,文档没有给出如何为每个语言环境指定路由的任何示例。
这是一个带路由的动作,如何翻译?
/**
* @Route("/welcome", name="welcome")
* @Template()
*/
public function welcomeAction() {
return array();
}
谢谢,
/**
* @Route("/welcome", name="welcome", defaults={"_locale" = "en"})
* @Route("/bienvenue", name="welcome", defaults={"_locale" = "fr"})
* @Route("/willkommen", name="welcome", defaults={"_locale" = "de"})
* @Template()
*/
public function welcomeAction() {
return array();
}
现在,这个新注释正在发生什么:
所选路线始终是最后一个/willkommen
(如果更改路线的顺序,所选路线仍然是最后一个路线)
_locale
设置的最后一条路线的区域设置是' de'根据上面的注释。
那么,任何建议? 感谢...
答案 0 :(得分:1)
我找到了解决方案。您只需设置运行以下命令
php app / console translation:extract fr --bundle = MinnTestBundle --enable-extractor = jms_i18n_routing --output-format = yml
然后,将生成minn/TestBundle/Ressources/translations/routes.fr.yml
文件。自定义您的路线翻译&就是这样!
希望它会帮助别人......
答案 1 :(得分:0)
您可以添加多个路线注释。
/**
* @Route("/welcome", name="welcome", defaults={"_locale" = "en"})
* @Route("/bienvenue", name="welcome", defaults={"_locale" = "fr"})
* @Template()
*/