如何设置基于注解的路由转换?
how to set the routing translation based on annotation?
我网站的所有路由都是根据注解实现的。现在,我想翻译我的路由。为了意识到这一点,我尝试使用包 JMSI18nRoutingBundle.
尽管如此,文档并未给出任何示例如何为每个语言环境指定路由。
这是一个带路由的action,怎么翻译?
/**
* @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'最后一个路由的语言环境。
那么,有什么建议吗?
谢谢...
您可以添加多个路由注释。
/**
* @Route("/welcome", name="welcome", defaults={"_locale" = "en"})
* @Route("/bienvenue", name="welcome", defaults={"_locale" = "fr"})
* @Template()
*/
我找到了解决方案。您只需设置 运行 以下命令
php app/console translation:extract fr --bundle=MinnTestBundle
--enable-extractor=jms_i18n_routing --output-format=yml
然后,将生成minn/TestBundle/Ressources/translations/routes.fr.yml
个文件。自定义您的路由翻译,仅此而已!
希望对其他人有所帮助...
我网站的所有路由都是根据注解实现的。现在,我想翻译我的路由。为了意识到这一点,我尝试使用包 JMSI18nRoutingBundle.
尽管如此,文档并未给出任何示例如何为每个语言环境指定路由。
这是一个带路由的action,怎么翻译?
/**
* @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'最后一个路由的语言环境。
那么,有什么建议吗? 谢谢...
您可以添加多个路由注释。
/**
* @Route("/welcome", name="welcome", defaults={"_locale" = "en"})
* @Route("/bienvenue", name="welcome", defaults={"_locale" = "fr"})
* @Template()
*/
我找到了解决方案。您只需设置 运行 以下命令
php app/console translation:extract fr --bundle=MinnTestBundle --enable-extractor=jms_i18n_routing --output-format=yml
然后,将生成minn/TestBundle/Ressources/translations/routes.fr.yml
个文件。自定义您的路由翻译,仅此而已!
希望对其他人有所帮助...