Локали и язык сайта

TeqCMS поддерживает мультиязычные сайты с определением языка пользователя и fallback-механизмом. Все локали настраиваются в конфигурации и работают на уровне URL.

1. Определение локали

Локаль пользователя определяется по следующему приоритету:

  1. Префикс в URL/en/, /ru/ и т.д.
  2. Заголовок Accept-Language — если префикс не указан
  3. Локаль по умолчанию — параметр localeBaseDisplay

Если URL не содержит допустимый префикс, CMS автоматически перенаправляет пользователя на путь с базовой локалью.

2. Настройка доступных локалей

Локали указываются через переменную окружения:

TEQ_CMS_LOCALE_ALLOWED=en,ru,fr

Базовая локаль для отображения:

TEQ_CMS_LOCALE_BASE_DISPLAY=en

Базовая локаль для переводов (например, оригинальные тексты на русском):

TEQ_CMS_LOCALE_BASE_TRANSLATE=ru

3. Каталоги шаблонов

Для каждой локали создаётся свой подкаталог:

tmpl/web/
├── en/
│   └── index.html
├── ru/
│   └── index.html

Если нужный файл отсутствует в целевой локали, CMS использует версию из localeBaseDisplay.

4. Переключение локали на сайте

Для переключения языка можно использовать селектор с генерацией ссылок на /en, /ru и т.п. CMS всегда рендерит страницы в соответствии с URL-локалью, что делает поведение однозначным и предсказуемым.

Далее: механизм перевода страниц →