如何设置基于注释的路由翻译?

2024-01-09

我网站的所有路由都是基于注释来实现的。现在,我想翻译我的路由。为了实现这一点,我尝试使用捆绑包JMSI18n路由包 https://github.com/schmittjoh/JMSI18nRoutingBundle.

然而,文档没有给出任何如何为每个语言环境指定路由的示例。

这是一个带有路由的动作,如何翻译呢?

/**
 * @Route("/welcome", name="welcome")
 * @Template()
 */
public function welcomeAction() {
    return array();
}

Thanks,


编辑后的问题

/**
 * @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();
}

现在,这个新注释发生了什么:

  1. 所选路线始终是最后一条/willkommen(如果更改路线顺序,所选路线仍然是最后一条)

  2. the _locale根据上面的注释设置最后一个路由的区域设置“de”。

那么,有什么建议吗? 谢谢...


我找到了解决方案。您只需设置运行以下命令

php 应用程序/控制台翻译:extract fr --bundle=MinnTestBundle --enable-extractor=jms_i18n_routing --output-format=yml

Then, minn/TestBundle/Ressources/translations/routes.fr.yml将生成文件。自定义您的路线翻译,就是这样!

希望它能帮助其他人...

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何设置基于注释的路由翻译? 的相关文章

随机推荐