【问题标题】:Is there a way to create locale dependent routing in Symfony2有没有办法在 Symfony2 中创建依赖于语言环境的路由
【发布时间】:2015-03-25 09:59:14
【问题描述】:

我在 Symfony2 上有一个网站,翻译成几种语言(例如 en、de、ru、pl)。每个语言版本都设置在它自己的服务器上,所以我有英文版本的服务器,其他的俄语版本等。每个语言版本都设置为该语言版本。我还需要将路由翻译成该语言,所以我使用https://github.com/BeSimple/BeSimpleI18nRoutingBundle,它几乎可以满足我的需求。当翻译中出现“冲突”时问题就开始了,例如德语版本有路由/kontakt,波兰语版本有路由/kontakt,但路由总是会“捕获”首先配置的路由并将我的网站语言更改为它。例如,如果我有:

contact:
    locales:  { de: "/kontakt", pl: "/kontakt" }
    defaults: { _controller: MyBundle:Frontend:contact }

我将始终被重定向到网站的德语版本,并且区域设置将更改为 de(并且将为德语版本生成每个链接)。

由于我在自己的服务器上拥有每种语言版本,有没有办法强制 symfony 只使用一种语言版本的路由? 在我的情况下,也许有更好的方法来配置整个路由?

【问题讨论】:

  • 您的网站有任何“前缀”吗?示例:http://yourdomain.com/de/http://yourdomain.com/en/http://yourdomain.com/pl 等等?
  • 不,我在它自己的域上拥有每个版本,例如domain.pldomain.dedomain.com
  • 管理多域网站我总是使用优秀的multisite-bundle

标签: php symfony


【解决方案1】:

很抱歉,但似乎每个域功能的区域设置未在该捆绑包中实现,我建议您参考该问题:

https://github.com/BeSimple/BeSimpleI18nRoutingBundle/issues/19

【讨论】:

  • 也许我可以使用其他捆绑包或其他方式来做到这一点?
猜你喜欢
  • 2013-06-01
  • 2012-07-11
  • 2013-07-10
  • 2011-08-13
  • 1970-01-01
  • 2021-09-08
  • 1970-01-01
  • 1970-01-01
  • 2014-04-24
相关资源
最近更新 更多