【问题标题】:Symfony2 URL translate and structure for multilanguage siteSymfony2 多语言站点的 URL 翻译和结构
【发布时间】:2013-08-29 16:18:59
【问题描述】:

如何在 Symfony2 中根据用户的区域设置动态 url 结构?

我解释得更好... 问题不在于 URL 的语言前缀更改。它运作良好。 问题出在 URL 的“静态”部分。

例如在 EN 中我想要这个网址

http://www.mysite.com/en/about-us

在这

http://www.mysite.com/it/chi-siamo

此外,它应该像树枝链接中的 URL 前缀一样自动更改

<a href="{{ path('StaticsPagesBundle_about') }}"

实际上,它会根据所选语言自动添加 IT 或 EN,但显然,静态片段“about-us”始终保持不变。

也许这可能是一个愚蠢的问题,但我不明白如何放置捆绑结构或是否有某种方法来管理这件事。

虽然关于翻译没有问题,但实际上它根据translations/messages.en.xliff文件将单词更改为twig,我的问题只是出现在静态链接中-变化。

【问题讨论】:

    标签: symfony url-routing bundle multilingual symfony-routing


    【解决方案1】:

    为了在站点中使用多语言,您可以将区域设置为路由器:

    about_me:
      pattern: /{_locale}/about-me
      defaults: { .... }
      requirements: { _locale: en|it }
    

    并在控制器中控制语言环境:

    $this->get('request')->getLocale();
    

    【讨论】:

    • 我成功了,实际上它工作正常。我想做的是使“about-me”网址的部分动态化
    • 这不是问题的答案。主要问题是路由的statis部分,about-us slug。它应该使用当前 Locale 设置的语言。
    【解决方案2】:

    对于这种情况,您应该查看JMSI18nRoutingBundle。有了它,您可以本地化您的路线(例如,您示例中的“关于我”部分),而不仅仅是站点。

    【讨论】:

      猜你喜欢
      • 2016-03-06
      • 2020-09-04
      • 1970-01-01
      • 2012-02-06
      • 2014-02-01
      • 2016-07-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多