Возможно ли в Symfony 1.2 изменить маршрутизацию на основе lang?Изменить маршрутизацию на основе языка, перевести URL-адреса
В моей системе есть 2 Langs - RU, PL
Пример маршрута выглядеть следующим образом:
produkt_show:
url: /products/:pslug/:idslug
param: { module: product, action: show }
Что я хочу достичь: Я хочу produkt_show маршрут, чтобы соответствовать [и генерировать] разные URL в зависимости от текущего языка. Так что в PL мой url будет выглядеть так:
/produkty/:pslug/:idslug
Важно, чтобы эти маршруты имели одинаковые имена. Я не могу изменить все url_for/link_to и т. Д. Вызовы и передать им разные имена маршрутов.
Если что-то неясно - спросите заранее.
UPDATE
в соответствии с рекомендациями j0k я использовал плагин. Я выбрал zxI18nRoutingPlugin. Кажется, что это неполная работа - она разрешает URL-адрес для правильного маршрута, если я пишу его буквально в адресном адресе браузера. Но он по-прежнему создает URL-адреса, которые не переведены.
например.
мой маршрут:
contact_form:
url: /contact_form
param: { module: contact_request, action: new}
транс блок:
<trans-unit>
<source>contact_form</source>
<target>formularz-kontaktowy</target>
</trans-unit>
генерироваться URL:
<a href="/contact_form" title="Kontakt" class="menu-contact"> Kontakt </a>
Но если я типа base_url/formularz-kontaktowy - правильное действие выполняется.
Это моя конфигурация из панели инструментов Dev:
Request:
parameterHolder:
action: new
module: contact_request
sf_culture: pl
attributeHolder:
sf_route: 'sfRoute Object()'
User
options:
auto_shutdown: false
culture: pl
default_culture: pl_PL
use_flash: true
logging: '1'
timeout: 10800
attributeHolder:
symfony/user/sfUser/attributes: { LAST_CATEGORY_ID_PATH_VAR: null, product_elements_on_page: 50 }
culture: pl_PL
Я просто не могу понять это, я был бы признателен за любую помощь, предложения, что-нибудь, потому что я застрял с этим.
UPDATE 2
factories.yml:
all:
routing:
# class: sfPatternRouting
# param:
# generate_shortest_url: true
# extra_parameters_as_query_string: true
class: zxPatternI18NRouting
param:
generate_shortest_url: true
extra_parameters_as_query_string: true
use_cultures: [pl, de, en, ru] # destination cultures. Plugin looks for translations for these cultures.
culture_into_url: false # defines if culture should be always placed in url
Это просто ооочень круто. Благодарю. Раньше я знал о последнем варианте, но это не то решение, которое хотел бы наш клиент. Я попытаюсь использовать плагины и написать через некоторое время, если они сработают. – tiriana
Я использовал zxI18nRoutingPlugin, и, похоже, он работает частично, но ... он все еще генерирует URL-адреса, которые не транслируются. Он разрешает преобразованную корреляцию маршрута, если я ввожу его в адрес, введенный буквально. Я покажу пример на мой вопрос. – tiriana
Как вам генерировать URL? Какова ценность 'culture_into_url'? Какова ценность 'use_cultures'? – j0k