我正在创建一个支持多种语言的Symfony 4 Web应用程序。路由已完成,因此我可以/en/suchpage
或/de/suchpage
。我现在正在寻找一种使用正确的语言环境链接到“suchpage”的方法。
路由如下所示:
suchpage:
path: /{_locale}/suchpage/
controller: App\Controller\SimplePageController::such
requirements:
maw: '%app.locales%'
defaults:
_locale: '%locale%'
我正在使用Twig,它来自Twig模板,我需要能够链接到正确版本的页面。这“有效”:
{{ path('suchpage', {'_locale': app.request.locale}) }}
它有两个问题:
我不想在这个地方重复这个。像{{ page('suchpage') }}
这样的东西要好得多。这样的功能存在吗? path()
可以表现得像这样吗?
如果未在请求中指定区域设置,则会失败,因为在所有页面上都不需要(因为某些页面有默认值)。
答案 0 :(得分:0)
有一个维护包 JMSI18nRoutingBundle ,以实现您的需求。
composer require jms/i18n-routing-bundle
关于此捆绑包的一些有用的链接:
Packagist:https://packagist.org/packages/jms/i18n-routing-bundle