Skip to main content
Le service web choisit la langue de l’interface à partir des paramètres ci-dessous, pour chaque requête, d’après le nom d’hôte utilisé par le navigateur. Les langues et les paramètres sont décrits dans Localisation.

Une seule langue

Plusieurs langues sur des sous-domaines

1

Acheminer chaque hôte de langue vers Ayakaleaf Pro

Ajoutez un nom DNS par langue et acheminez-les tous vers Ayakaleaf Pro avec un certificat qui les couvre, par exemple *.example.com. Votre ingress ou votre équilibreur de charge doit transmettre l’en-tête Host sans le modifier, ce que font ingress-nginx et HAProxy par défaut.Les utilisateurs doivent accéder aux hôtes de langue sur les ports standard (https://cn.example.com, et non https://cn.example.com:30443) : Ayakaleaf Pro compare l’hôte sans le port.
2

ConfigMap

30-config.yaml (additions)
COOKIE_DOMAIN permet au cookie de connexion de fonctionner sur chaque hôte de langue. Placez le JSON entre apostrophes simples. Un JSON invalide dans OVERLEAF_LANG_DOMAIN_MAPPING arrête tous les services du pod au démarrage ; vérifiez donc kubectl -n overleaf get pod après le redémarrage.

Plusieurs répliques

La langue provient du nom d’hôte de chaque requête ; elle ne dépend donc pas de la réplique. Le cookie de persistance (sticky) de l’équilibreur de charge est défini par nom d’hôte, sauf si vous lui attribuez un domaine ; changer de langue peut donc déplacer un utilisateur vers une autre réplique. Sa session se trouve dans Redis et reste valide.

Testé sur Kubernetes

Sur Kubernetes 1.37 derrière HAProxy, avec OVERLEAF_LANG_DOMAIN_MAPPING associant l’hôte du site à l’anglais, un hôte de. à l’allemand et un hôte fr. avec le NodePort :30081 au français : l’hôte du site affichait l’anglais, l’hôte de. l’allemand, et l’hôte fr. avec le port revenait à l’anglais, comme décrit ci-dessus.
Dernière modification le 2 novembre 2026