CakePHP 3 — Перевод и локализация

Подготовка к переводу

Для подготовки Вашего сайта созданного на CakePHP к переводу, необходимо совершить всего несколько шагов.

1. В шаблонах все строки выводить с использованием функции __():

<h2><?= __('Title ready for translation') ?></h2>

2. Создать папки, где будут храниться файлы переводов по адресу src/Locale/. Структура этой директории должна иметь следующий вид:

/src
    /Locale
        /en_US
            default.po
        /ru_RU
            default.po
        /uk
            default.po

3. Создать файл шаблона .pot использую оболочку i18n. Для этого в консоли вводим команду:

bin/cake i18n extract

В папке src/Locale будут созданы два шаблона cake.pot и default.pot.

4. Изменить локаль по умолчанию в файле bootstrap.php:

ini_set('intl.default_locale', 'en_EN');

5. Отредактировать файл AppController.php:

use Cake\I18n\I18n;

public function initialize()
{
    parent::initialize();
    I18n::locale('ru_RU');
}

Создание перевода

1. В папке с нашей локалью создаем файл default.po.

2. Копируем содержимое файла default.pot и вставляем в только что созданный файл.

3. Переводим все строки.

Список и коды всех локалей: http://wpcentral.io/internationalization/

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *