CLocale::getTerritoryID

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
poohbinar
Сообщения: 28
Зарегистрирован: 2012.12.26, 16:58

CLocale::getTerritoryID

Сообщение poohbinar »

Я только начал разбираться с yii. Возник вопрос
Получаю язык браузера

Код: Выделить всё

$app->language = Yii::app()->getRequest()->getPreferredLanguage();
дальше пытаюсь его преобразовать в ID языка с помощью CLocale::getTerritoryID('ru_ru').

Пытался по разному, постоянно выдает ошибку
BeginRequest and its behaviors do not have a method or closure named "getCanonicalID".

Делал и в контроллере и в бехейворе, использовал как статический метод и создавал экземпляр объекта. Все равно это ошибка.
В гугле информации по ней не нашел.

Подскажите в чем проблема?
poohbinar
Сообщения: 28
Зарегистрирован: 2012.12.26, 16:58

Re: CLocale::getTerritoryID

Сообщение poohbinar »

Можно конечно код метода getTerritoryID продублировать, там всего то str_replace. Но не хорошо это
poohbinar
Сообщения: 28
Зарегистрирован: 2012.12.26, 16:58

Re: CLocale::getTerritoryID

Сообщение poohbinar »

Все вопрос снимается. Конструктор класса CLocale защищен, необходимо использовать CLocale::getInstance('ru_ru')

Код: Выделить всё

CLocale::getInstance(Yii::app()->language)->getTerritoryID(Yii::app()->language); 
Ответить