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 のプレフィックスを追加するだけです。

私の問題は、URLに入力したときです:example.co.il

それはそれのためのルートを見つけることができないと言います。これを追加すると->オプション: { i18n: false }

ルートに、それは機能します(これは「ルートを未翻訳のままにする」ためです)

私が見たように、それは単に「彼」ローカルのルートが存在しないことを意味します。

どうすれば実装できますか?

リクエストに応じて、これが私の router: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
4

2 に答える 2

0

やってみました

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

すでにコンソールで?「で」を必要に応じて交換してください。キャッシュをクリアした後、うまくいきました。

私のmessages.de.ymlファイルのいくつかの翻訳を削除したので、注意して使用してください。

于 2016-03-02T01:01:16.430 に答える