Симфония 3 | JMSi18nRoutingBundle не переводит маршруты

Ребята, я использовал BeSimplei18nRoutingBundle, но также использовал некоторые пакеты JMS, поэтому я хотел, чтобы все были пакетами JMS, и изменил его на JMSi18nRoutingBundle. Теперь моя маршрутизация на основе локали работает отлично, но я не могу их перевести. Искал везде и не может создать/найти решение.

Сначала я установил пакеты маршрутизации и трансляции JMS. Добавлено в ядро ​​приложения.

После этого добавил конфигурацию маршрутизации в файл config.yml:

jms_i18n_routing:
    default_locale: tr
    locales: [tr, en]
    strategy: prefix_except_default

Затем добавил 2 маршрута в файл routing.yml:

homepage:
    path:     /
    defaults: { _controller: AppBundle:Default:index }
    options: { i18n: true }

secondpage:
    path:     /ikincisayfa
    defaults: { _controller: AppBundle:Default:secondPage }
    options: { i18n: true }

После этого я извлек файл перевода для локали en на консоли:

php bin/console translation:extract en --bundle=AppBundle --enable-extractor=jms_i18n_routing --output-format=yml --exclude-dir=cache --exclude-dir=data --exclude-dir=logs --exclude-dir=Tests --exclude-dir=Service --output-dir="app/Resources/translations"

И перевел ikincisayfa на secondpage:

# Desc: /
homepage: /

# Desc: /ikincisayfa
secondpage: /secondpage

Но когда я запускаю php bin/console debug:router, вот вывод; перевода не произошло:

  tr__RG__homepage           ANY      ANY      ANY    /                                  
  en__RG__homepage           ANY      ANY      ANY    /en/                               
  tr__RG__secondpage         ANY      ANY      ANY    /ikincisayfa                       
  en__RG__secondpage         ANY      ANY      ANY    /en/ikincisayfa 

Пытался очистить кеш, повторно извлечь переводы, но безуспешно. Может кто-нибудь сказать, где я делаю ошибку, пожалуйста.. Спасибо.


person Arda Oğul Üçpınar    schedule 11.05.2017    source источник


Ответы (1)


Хорошо, я нашел проблему. Я не удалил маршрут, созданный Symfony, в файле routing.yml:

app:
    resource: '@AppBundle/Controller/'
    type: annotation

Похоже, это вызвало конфликт между маршрутизацией Symfony и маршрутизатором JMS. Я бы хотел, чтобы в документации JMS тоже была эта информация.

person Arda Oğul Üçpınar    schedule 11.05.2017