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

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

Модуль мультиязычности уже встроен в систему и работает по принципу дублирования базы данных с репликацией **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) должны быть в системе.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.buyers-cms.ru/api/multilanguage.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
