> For the complete documentation index, see [llms.txt](https://docs.buyers-cms.ru/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.buyers-cms.ru/api/multilanguage.md).

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

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

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

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

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

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

```
для en.ini 
All results = All results

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

{% hint style="info" %}
&#x20;Необходимо чтобы «**ключ**» для всех языков был одинаковый. Если значение не найдено, то будет выводится ключ красным цветом.
{% endhint %}

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

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**.&#x20;

{% code title="api/config.php" %}

```bash
$DOMAINS = array(
		'site.ru'	=> 'ru',
    'site.com'	=> 'en'
);
```

{% endcode %}

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