СДО "EDUS" СДО "EDUS"
100% СДЕЛАНО В РОССИИ

СИСТЕМА ДИСТАНЦИОННОГО ОБРАЗОВАНИЯ

Мультиязычность

41

Базовый принцип описан здесь — Интернационализация

В config/web.php подключаем файлы переводов для каждой категории

    // ...
    'i18n' => [
        'translations' => [
            'app' => [
                    'class' => 'yii\i18n\PhpMessageSource',
            ],
            'admin' => [
                'class' => 'yii\i18n\PhpMessageSource',
            ],
            ....
        ],
    ],
],


Файлы с переводами содержаться в папке @app\messages\код_языка\имя_группы.php

Для модулей — admin, accountant, methodist, student, teacher, user Для моделей из @app\models переводы указываем в файле @app\messages\код_языка\models.php Для остальных языковых переменных (шаблоны, виджеты и прочее, что не попадает в данные категории) — переводы размещаем в этом файле — @app\messages\код_языка\app.php

Пример — modules/admin/views/language/index.php:17 — указали для кнопки создания языка — перевод Yii::t('admin', 'Create Language') (категория — admin, языковая переменная — 'Create Language').
И соответственно добавляем данную переменную в массив в файл для русского языка messages/ru-RU/admin.php ` <?php return [ ...

'Create Language' => 'Добавить язык',

… ]; И в файл английского языка `messages/en-US/admin.php` <?php return [ ...

'Create Language' => 'Create Language',

… ]; `

Аналогичный принцип работы с моделями. Добавили языковую переменную в models/Language.php:46 — Yii::t('models', 'Public Name'), И потом добавили эти языковые переменные в файлы messages/en-US/models.php и messages/ru-RU/models.php
При добавлении новых языков создаём в папке messages папки с новыми языками с аналогичными именованными вложенными файлы.

41
No comments yet. Be the first to add a comment!
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.