Urlmanager

Witam

Czy jest jakaś możliwość aby wczytywać ‘rulsy’ zależnie od wybranego języka ?

Zależy mi aby np dla języka polskiego był adres ‘pl/logowanie’ a dla angielskiego ‘en/login’

Wszystkie linki tworzę za pomocą Yii::app()->createUrl() i nie chciałbym wszystkich przerabiać "na sztywno"

Możesz użyć wbudownego mechanizmu Yii:t() + kilka modyfikacji. Więcej tu: http://www.yiiframework.com/wiki/719/i18n-localised-routes-in-yii/

Dzięki za podesłanie linka, mam jednak jeden problem a mianowicie pobiera mi tylko rulsy dla języka polskiego. Inne języki są pomijane. Jeżeli w pliku config/main.php zmienię ‘language’ => ‘pl’, na angielski wtedy jest analogiczna sytuacja, pobiera tylko rulsy dla języka angielskiego.

O to zdaje się chodzi, nie ? :)

Nie wiem z jakiego mechanizmu zmiany języka korzystasz, ale powinien być kod języka ustawiony zanim parsowane są reguły url managera. Wtedy jeżeli chcesz wygenerować dany link w innym języku pobierasz jego nazwę za pomocą Yii:t podając kod języka docelowego. Oprócz tego jako parametr przesyłasz kod języka, i gdzieś przed parsowaniem reguł go ustawiasz jako język aplikacji.

U mnie widocznie zmiana języka następuje później.

Będę musiał to przeanalizować pod tym kątem