Урок 8: Интернационализация в Yii2 (мультиязычность)

preview_player
Показать описание
Использование стороннего UrlManager: $ composer require codemix/yii2-localeurls

Рекомендации по теме
Комментарии
Автор

Вы можете использовать i18n в ваших представлениях, чтобы обеспечить поддержку нескольких языков. Например, если существует представление views/site/index.php и для перевода его на русский язык необходимо отдельное представление, создайте папку ru-RU в папке с представлением текущего контроллера или виджета и создайте файл для русского языка: views/site/ru-RU/index.php. Yii загрузит файл для текущего языка, если он существует, или использует исходный views/site/index.php, если не сможет найти локализацию.

oronstil
Автор

Что то не нашел видео про файли css за которые упоминается на 3-тей минуте, не могли бы указать урл на видео где именно про них рассказывается?

sallyalextech
Автор

Привет
Не давно сделал мильтиязычный сайт, не пойму зачем array_merge ты туда впихнул на 18 минуте, он лишний вот этого достаточно echo Html::a('ENG', [Yii::$app->controller->route, 'language' => 'en']);

s.konstantin
Автор

Тоже самое при Ajax

Как то можно решить эту проблему? Можно ли как то сделать дефолтное зничение ru или en чтоб оно само подставлялось к URL?

(дописывание в confige к UrlManager в rules 'ru/controller/action ' =>'/controll/action' не дало результата к тому же (если бы этот вариант сработал) это наверно считалось бы костылем )


Вообщем это я curl-ом отправляю json и принимаю ответ (теперь к url приходится дописывать ru или en )
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
$out = curl_exec($ch);
curl_close($ch);


echo($out);

Ajax:
$.ajax({
type: "POST",
url: "ru/controller/action",
dataType: 'json',
success: function (data) {

}

});

maksimovilya
Автор

а как ты перевел виджеты можешь показать или рассказать на видео

sevgenberg
Автор

Что за бред со страницами? Что теперь каждый раз делать копию под нужный язык? А что если у тебя 10 языков? Это по 10 копий каждой страницы! Не легче такой же файл как common твой сделать и на него ссылаться чтобы из массива брало перевод!?

antonmilyaev