переводы

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
agrail
Сообщения: 107
Зарегистрирован: 2011.06.19, 23:19

переводы

Сообщение agrail »

Я так понял, переводов системных сообщений на русский язык в yii2 нет. Как-то можно помочь с переводом? Или портировать из 1 yii? это возможно?
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: переводы

Сообщение samdark »

Ошибки типа отсутствия подключения к базе переводится не будут потому как предназначены для разработчика. Что будет переводится пока не переведено. Документация по процессу перевода на мне. Как подготовлю, объявлю в twitter.
agrail
Сообщения: 107
Зарегистрирован: 2011.06.19, 23:19

Re: переводы

Сообщение agrail »

Александр,а я могу к примеру чисто в своем приложении разместить старый файл переводов yii и прописать к ним путь в конфиге? чисто как временное решение, потому что мне критически важны переводы в приложении, особенно правил валидации. Я вздумал работающий сайт на yii-2 переписывать несмотря на многочисленные предостережения и дедлайн, очень уж понравился фреймворк новый.
lancedevnull
Сообщения: 1268
Зарегистрирован: 2013.07.17, 17:37

Re: переводы

Сообщение lancedevnull »

так свои фразы и переводите в уии только искллючение и extensions
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: переводы

Сообщение samdark »

Нет. Сообщения другие, хотя формат файла почти такой же.

https://github.com/yiisoft/yii2/blob/ma ... de/i18n.md — тут как настраивать.

Тут о множественных формах: http://rmcreative.ru/blog/post/yii2-perevod-soobscheniy

Если не получится, пишите, буду помогать.
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: переводы

Сообщение samdark »

В Yii ещё валидация. Она переводится будет.
lancedevnull
Сообщения: 1268
Зарегистрирован: 2013.07.17, 17:37

Re: переводы

Сообщение lancedevnull »

ну так валидационные фразы можно же перекрыть 'message'=>Yii::t('ипогнали')
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: переводы

Сообщение samdark »

Можно.
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: переводы

Сообщение samdark »

https://github.com/yiisoft/yii2/blob/ma ... lations.md

Сообщения для Русского уже переведены, но буду рад корректировкам.
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: переводы

Сообщение zelenin »

Столкнулся с тем, что, имея структуру app-advanced, yii message/extract messages/config.php извлекает сообщения только из sourcePath, т.е. backend, что логично, но у нас остаются в таком случае например непереведенные attributeLabels в common/models, которые тоже участвуют в backend. Если я их переводил в backend/messages/, то при следующем сканировании, они помечались как неиспользуемые, т.к. действительно в backend они не используются, а вызываются функцией getAttributeLabel.

Поэтому чуть изменил MessageController, чтобы он принимал множественные источники:

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

'sourcesPath' => [
        Yii::getAlias( '@backend' ),
        Yii::getAlias( '@frontend' ),
        Yii::getAlias( '@common' ),
        Yii::getAlias( '@console' ),
        Yii::getAlias( '@yii' )
    ],
(последней строчкой я, кстати, извлекал системные сообщения для перевода, но рад новости, что они будут из коробки.)
А в конфиге прописал следующее:

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

'i18n' => [
    'translations' => [
        'yii' => [
                'class' => 'yii\i18n\PhpMessageSource',
                'basePath' => '@common/messages'
        ],
        'app' => [
                'class' => 'yii\i18n\PhpMessageSource',
                'basePath' => '@common/messages'
         ],
     ]
], 
то есть перевод для backend и frontend положил в одно место, чтобы переводы общих моделей не пересекались , а использовались одни.

Такой пулл-реквест будет полезен сообществу, или я нарушил идеологию?
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: переводы

Сообщение samdark »

По идее, можно просто указать директорию, в которой лежат common, frontend, backend и в исключения добавить vendor.
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: переводы

Сообщение zelenin »

ну да, точно
Аватара пользователя
asset
Сообщения: 245
Зарегистрирован: 2012.12.04, 20:50
Откуда: Казахстан

Re: переводы

Сообщение asset »

сорри что не по тему. как теперь использовать getDbCriteria()->mergeWith ?

как model()->mergeWith ?
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: переводы

Сообщение samdark »

Создайте тему чтоли отдельную...
Koudy
Сообщения: 21
Зарегистрирован: 2014.02.27, 16:33

Re: переводы

Сообщение Koudy »

Есть необходимость перевести значения массива items[], получаемого из БД с помощью Query() и передаваемого в Html::activeDropDownList(). Можно, конечно, прогнать по циклу массив с переопределением значений, но нельзя ли это сделать, передавая какой-то нибудь параметр типо 'translate'?
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: переводы

Сообщение samdark »

Можно, но тулза автоматически эти строки в файл добавлять не сумеет.
Koudy
Сообщения: 21
Зарегистрирован: 2014.02.27, 16:33

Re: переводы

Сообщение Koudy »

Автоматически не надо)
Не подскажешь, как именно это можно сделать?
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: переводы

Сообщение samdark »

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

foreach ($data as $key => $value) {
  $data[$key] = \Yii::t($value);
}
 
lancedevnull
Сообщения: 1268
Зарегистрирован: 2013.07.17, 17:37

Re: переводы

Сообщение lancedevnull »

хм, наверное будет правильным
.....@bacend/main.php....
return array_merge (
Yii::getAlias('@common').main.php,
[
'перекрыли' => 'новое'
]
)
Romero
Сообщения: 40
Зарегистрирован: 2013.01.16, 14:35

Re: переводы

Сообщение Romero »

Sam Dark писал(а):https://github.com/yiisoft/yii2/blob/ma ... lations.md

Сообщения для Русского уже переведены, но буду рад корректировкам.
Привет.

Я так понимаю, еще не все валидационные сообщения переведены? В частности: Incorrect username or password. Можно на пальцах объяснить на примере этого сообщения, как сделать его перевод? Добавил соответствующий элемент в vendor/yiisoft/yii2/messages/ru/yii.php - не помогло ('language' => 'ru-RU' в настройках прописан).
Ответить