Skip to main content
Сервис web выбирает язык интерфейса по приведённым ниже настройкам — для каждого запроса по имени хоста, которое использовал браузер. Языки и настройки описаны на странице Локализация.

Один язык

Несколько языков на поддоменах

1

Направьте хост каждого языка на Ayakaleaf Pro

Добавьте DNS-имя для каждого языка и направьте их все на Ayakaleaf Pro с сертификатом, который их покрывает, например *.example.com. Ваш ingress или балансировщик нагрузки должен передавать заголовок Host без изменений, что ingress-nginx и HAProxy делают по умолчанию.Пользователи должны обращаться к языковым хостам через стандартные порты (https://cn.example.com, а не https://cn.example.com:30443): Ayakaleaf Pro сравнивает хост без порта.
2

ConfigMap

30-config.yaml (additions)
COOKIE_DOMAIN позволяет cookie входа работать на всех языковых хостах. Заключите JSON в одинарные кавычки. Недопустимый JSON в OVERLEAF_LANG_DOMAIN_MAPPING останавливает все сервисы пода при запуске, поэтому после перезапуска проверьте kubectl -n overleaf get pod.

Несколько реплик

Язык определяется по имени хоста каждого запроса, поэтому он не зависит от реплики. Sticky-cookie балансировщика нагрузки устанавливается для каждого имени хоста отдельно, если не задать для него домен, поэтому переключение языка может перевести пользователя на другую реплику; его сеанс хранится в Redis и остаётся действительным.

Проверено на Kubernetes

В Kubernetes 1.37 за HAProxy, с OVERLEAF_LANG_DOMAIN_MAPPING, сопоставляющим хост сайта с английским, хост de. с немецким и хост fr. с NodePort :30081 с французским: хост сайта отображался на английском, хост de. — на немецком, а хост fr. с портом откатывался на английский, как описано выше.
Последнее изменение 2 ноября 2026 г.