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/