Это расширение позволяет делать многоязычные сайты на yii2. Вместо неформальной спецификации используется статья google "Мультирегиональные и многоязычные сайты".
Примечание: расширение находится в стадии разработки.
This instruction is available in English.
- Поддержка неограниченного количества языков.
- Язык страницы вставляется в ссылку как директория.
- Корректная работа с настройками yii\web\UrlManager: enablePrettyUrl и showScriptName.
- Корректная работа сайта в подкаталогах (например, http://example.com/sub/directory/frontend/web/ru/site/login).
- Возможность указать язык принудительно с помощью cookies. В этом случае скрипт будет делать редирект, если пользователь открыл страницу с другим языком.
- Редиректы только для GET-запросов. POST, Ajax XHR будут корректно работать.
- Есть хелпер для переключения языка (легко использовать ссылки или bootstrap dropdown).
- CRUD-actions для быстрой разработки модулей админки.
- Поддержка
<link rel="alternate" ...
(TODO: сделать справку).
- http://example.com/en/
- http://example.com/ru/
- http://example.com/en/site/login
- http://example.com/ru/site/login
Так будут выглядеть ссылки из настройками enablePrettyUrl=true; showScriptName=false. Примеры для других настроек yii\web\UrlManager можно посмотреть тут (TODO: сделать справку).
- Установка и настройка расширения
- Смена языка
- Создание модели и контроллеров
- LangHelper
- Часто задаваемые вопросы
php -S localhost:8090 -t advanced
composer run-script test
Перед запуском тестов у вас должен быть установлен codeception.
- Rewrite
Controller->findModel(...)
- Make a working example of the module "page"
- Cover the test more code
- Problem with text site/error. Session Flash Data (?)
- Detect language by IP (country) (?)