2

我在 symfony2 中使用 JMSI18nRoutingBundle。

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

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

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

我什至尝试使用 2. 场景

这将为其他语言的 url 添加一个前缀。

我看到我的问题是当我输入网址时:example.co.il

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

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

正如我所看到的,这仅仅意味着“他”当地人的路线根本不存在。

一个想法我如何实现它?

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

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
4

2 回答 2

0

你有没有尝试过

php bin/console 翻译:extract de --enable-extractor=jms_i18n_routing --dir=./src --output-dir=./app/Resources/translations

在控制台已经?根据您的需要交换“德”。清除缓存后它对我有用。

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

于 2016-03-02T01:01:16.430 回答
-1

它在手册中指出:

每当模式匹配到不同主机的区域设置时,都会使用重定向,除非 redirect_to_host 设置为 false,在这种情况下会引发 ResourceNotFoundException,这通常会导致 404 错误。

因此,如果您将 redirect_to_host 设置为 false,这是正常行为

于 2013-08-03T17:38:32.180 回答