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

Инструкция по подключению мультиязычности

Модуль мультиязычности уже встроен в систему и работает по принципу дублирования базы данных с репликацией INSERT\DELETE запросов.

Для перевода системы используются языковые ini-файлы с переводом слов или словосочетаний.

Языковой файл находится в папке с шаблоном, в подпапке langs. Название файла содержит двухбуквенное краткое написание языка (ru, en, kz..).

Сам файл представляет собой массив «ключ-значение», где с новой строки указывается перевод слова или словосочетания. Ключ – все что до знака =, значение после, например:

для en.ini 
All results = All results

для ru.ini 
All results = Все результаты

Необходимо чтобы «ключ» для всех языков был одинаковый. Если значение не найдено, то будет выводится ключ красным цветом.

Чтобы новый язык добавился в систему необходимо:

  1. Добавить конфигурационный ini-файл с названием языка который вы добавляете, например, для добавления русского языка (ru) необходимо создать конфиг файл config_ru.ini и прописать доступ для базы данных в которой все написано по-русски. Также в конфиг файле должен быть указан лицензионный ключ, на случай если для языка будет использоваться не основной домен .

  2. Создать файл перевода ru.ini в папке langs шаблона, в котором вы работаете и прописать в файл переводы для всех ключей.

Помимо репликации INSERT\DELETE запросов, для некоторых таблиц реплицируются и UPDATE запросы, поскольку любые изменения в таблицах ниже должны сохраняться для всех языков.

Список таблиц, в которых реплицируется UPDATE:

Таблица

Обозначение

Orders

Список заказов

Managers

Список менеджеров

Sessions

Список сессий

Users

Список покупателей

Purchases

Список покупок

Чтобы назначить разным доменам свой язык по умолчанию, например для домена site.ru –русский, а для домена site.com–английский, необходимо в файле api/config.php указать домены в переменной $DOMAINS.

api/config.php
$DOMAINS = array(
		'site.ru'	=> 'ru',
    'site.com'	=> 'en'
);

Конфигурационные файлы (config_ru.ini, config_en.ini) должны быть в системе.

Last updated