我在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
答案 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
,这是正常行为