Ребята, я использовал 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
Пытался очистить кеш, повторно извлечь переводы, но безуспешно. Может кто-нибудь сказать, где я делаю ошибку, пожалуйста.. Спасибо.