JMS I18n路由捆绑包symfony 2创建路由转换

时间:2013-08-03 14:02:46

标签: php symfony

我在symfony2中使用JMSI18nRoutingBundle。

我阅读了所有文档 - > http://jmsyst.com/bundles/JMSI18nRoutingBundle

并在我的配置中使用了3. Scenario:

jms_i18n_routing:
    default_locale: en
    locales: [en, he]
    strategy: custom
    hosts:
        en: example.com
        he: example.co.il
    redirect_to_host: false

我甚至尝试使用2. Scenario

只会为其他语言的网址添加前缀。

因为我看到我的问题是当我进入url:example.co.il

它说无法找到它的路线。 当我添加这个 - >     选项:{i18n:false}

到路线,它起作用(这是为了“留下未翻译的路线”)

我认为这仅仅意味着“他”本地的路线根本不存在。

如何实施它的想法?

根据要求,这是我的路由器:debug - > (我只添加了一部分,因为它很长)

he_en__RG__site_base_homepage            ANY    ANY    ANY  /
he__RG__site_base_homepage               ANY    ANY    ANY  /
en__RG__site_base_homepage               ANY    ANY    ANY  /
he_en__RG__site_base_about               ANY    ANY    ANY  /about
he__RG__site_base_about                  ANY    ANY    ANY  /about
en__RG__site_base_about                  ANY    ANY    ANY  /about
he_en__RG__site_base_contact             GET    ANY    ANY  /contact
he__RG__site_base_contact                GET    ANY    ANY  /contact
en__RG__site_base_contact                GET    ANY    ANY  /contact
he_en__RG__site_base_contact_verify      POST   ANY    ANY  /contact
he__RG__site_base_contact_verify         POST   ANY    ANY  /contact
en__RG__site_base_contact_verify         POST   ANY    ANY  /contact
he_en__RG__terms_of_use                  ANY    ANY    ANY  /terms
he__RG__terms_of_use                     ANY    ANY    ANY  /terms
en__RG__terms_of_use                     ANY    ANY    ANY  /terms

2 个答案:

答案 0 :(得分:0)

你试过吗

php bin / console translation:extract de --enable-extractor = jms_i18n_routing --dir =。/ src --output-dir =。/ app / Resources / translations

已经在控制台了?交流' de'满足您的需求。清除缓存后,它对我有用。

请小心使用,因为它删除了我的messages.de.yml文件中的一些翻译。

答案 1 :(得分:-1)

在手册中说明:

每当模式与不同主机的语言环境匹配时,都会使用重定向,除非redirect_to_host设置为false,在这种情况下抛出ResourceNotFoundException,这通常会导致404错误。

如果将redirect_to_host置于false

,这是正常行为