Локализация виджетов

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
Аватара пользователя
nizsheanez
Сообщения: 814
Зарегистрирован: 2011.04.29, 13:09
Откуда: Москва

Локализация виджетов

Сообщение nizsheanez »

Хочу сделать добавление виджетов из админки, но не понимаю, как сделать локализацию.
Лезть в какой-то файл и че-то там менять при каждом добавлении виджета вообще не вариант.
Поэтому нужен какой-то механизм автоматизации.
Пока приходит в голову сделать функцию которая будет возвращать массив с переводами, может подскажете чего поизящнее?
Аватара пользователя
nizsheanez
Сообщения: 814
Зарегистрирован: 2011.04.29, 13:09
Откуда: Москва

Re: Локализация виджетов

Сообщение nizsheanez »

Ну я в курсе этой статьи, там и говорится как раз, что переводы должны лежать в папке messages либо корня либо модуля.
А вот как сделать что бы можно было хранить файлы перевода в папке с виджетом?
Аватара пользователя
nizsheanez
Сообщения: 814
Зарегистрирован: 2011.04.29, 13:09
Откуда: Москва

Re: Локализация виджетов

Сообщение nizsheanez »

Может есть какая-нибудь возможность зарегистрировать файл перевода?
Да, думаю что самым логичным было бы через функцию зарегистрировать папку с переводами в init виджета. Ну если нет, то сам напишу. В исходниках CPhpMessageSource ничего не нашел.
Аватара пользователя
slavcodev
Сообщения: 3134
Зарегистрирован: 2009.04.02, 21:42
Откуда: Valencia
Контактная информация:

Re: Локализация виджетов

Сообщение slavcodev »

Вот как-то так, по памяти

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

class MyWidget extends CWidget {
  private $_message;
  public function init(){
      $this->_message=Yii::createComponent(array(
          'class'=>'CPhpMessageSource',
          'basePath'=>dirname(__FILE__).'/messages'
      ));
  }
  public function run(){
      echo Yii::t('site','{who} translate my message, please!',array('{who}'=>'Yii'),$this->_message);
  }
} 
Жду Yii 3!
Аватара пользователя
nizsheanez
Сообщения: 814
Зарегистрирован: 2011.04.29, 13:09
Откуда: Москва

Re: Локализация виджетов

Сообщение nizsheanez »

Да. Спасибо, mc-bar
Ответить