Таблица oc_language
Таблица oc_language является системным справочником и содержит список всех языковых пакетов, установленных в магазине. Эта таблица используется для мультиязычной поддержки интерфейса администратора и витрины магазина.
Поля
| Поле | Тип данных | Описание |
|---|---|---|
language_id |
int |
Уникальный идентификатор языка. Первичный ключ таблицы. |
name |
varchar(32) |
Название языка на этом языке (например, "English", "Русский", "Deutsch"). |
code |
varchar(5) |
Код языка в формате ISO (например, "en", "ru", "de"). Используется для формирования URL и определения текущего языка. |
locale |
varchar(255) |
Локаль языка для сервера (например, "en_US.UTF-8,en_US,en-gb,english"). Используется для установки локали на сервере. |
image |
varchar(64) |
Название файла изображения флага языка (например, "gb.png", "ru.png"). Обычно хранится в catalog/language/.
|
directory |
varchar(32) |
Название директории с языковыми файлами (например, "english", "russian", "german"). |
sort_order |
int |
Порядок сортировки языка в списках. Определяет последовательность отображения языков в переключателе на сайте. |
status |
tinyint(1) |
Статус языка: 1 - включен, 0 - отключен. Отключенные языки не доступны для выбора на витрине.
|
Как это работает
При установке OpenCart в таблицу oc_language добавляются языки, выбранные во время процесса установки. Дополнительные языки можно установить через админ-панель в разделе "Система > Локализация > Языки".
При загрузке страницы система определяет текущий язык на основе различных факторов: параметров URL, настроек сессии, браузера пользователя или языка по умолчанию из настроек магазина. Код языка из поля code используется для загрузки соответствующих языковых файлов из директории catalog/language/{directory}/.
Поле directory должно точно соответствовать имени папки с языковыми файлами. Например, для русского языка это обычно "russian", а файлы находятся в catalog/language/russian/.
Языковые файлы содержат переводы всех текстовых элементов интерфейса. При изменении языка система перезагружает страницу с новым набором переводов.
Статус языка (status) определяет, доступен ли язык для выбора на витрине магазина. Отключенные языки не отображаются в языковом переключателе, но остаются в базе данных.
Пример SQL-запроса
Получить список всех активных языков с сортировкой можно следующим запросом:
SELECT *
FROM oc_language
WHERE status = 1
ORDER BY sort_order ASC;
Смотрите также
-
таблицу
oc_setting,
которая хранит настройки магазина, включая язык по умолчанию -
таблицу
oc_category_description,
которая содержит переводы названий категорий -
таблицу
oc_product_description,
которая содержит переводы товаров