> ## Documentation Index
> Fetch the complete documentation index at: https://ayakaleaf-pro.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Lokalisierung

> Betreiben Sie ein Kubernetes-Deployment in einer Sprache oder in mehreren Sprachen auf eigenen Subdomains.

Der **web**-Dienst wählt die Sprache der Oberfläche anhand der unten beschriebenen Einstellungen, pro Anfrage nach dem Hostnamen, den der Browser verwendet hat. Die Sprachen und Einstellungen sind unter [Lokalisierung](https://ayakaleaf-pro.mintlify.site/de/on-premises/configuration/overleaf-toolkit/localization.md) beschrieben.

| | |
| - | - |
| Dienst | web, in jedem Ayakaleaf Pro-Pod; wird beim Start von web gelesen |
| Netzwerk | ein Hostname pro Sprache, alle an Ayakaleaf Pro weitergeleitet |
| Periodische Jobs | keine |

### Eine Sprache

```yaml theme={null}
  OVERLEAF_SITE_LANGUAGE: zh-CN
```

```bash theme={null}
kubectl apply -f 30-config.yaml
kubectl -n overleaf rollout restart deployment/overleaf     # or statefulset/overleaf
```

### Mehrere Sprachen auf Subdomains

**1. Jeden Sprach-Host an Ayakaleaf Pro weiterleiten**

Fügen Sie pro Sprache einen DNS-Namen hinzu und leiten Sie alle an Ayakaleaf Pro weiter, mit einem Zertifikat, das sie alle abdeckt, zum Beispiel `*.example.com`. Ihr Ingress oder Load Balancer muss den `Host`-Header unverändert weitergeben, was ingress-nginx und HAProxy standardmäßig tun.

Benutzer müssen die Sprach-Hosts über die Standardports erreichen (`https://cn.example.com`, nicht `https://cn.example.com:30443`): Ayakaleaf Pro vergleicht den Host ohne Port.

**2. ConfigMap**

```yaml title="30-config.yaml (additions)" wrap theme={null}
  OVERLEAF_SITE_URL: https://www.example.com
  COOKIE_DOMAIN: .example.com
  OVERLEAF_LANG_DOMAIN_MAPPING: '{"www": {"lngCode": "en", "url": "https://www.example.com"}, "cn": {"lngCode": "zh-CN", "url": "https://cn.example.com"}}'
```

`COOKIE_DOMAIN` sorgt dafür, dass das Anmelde-Cookie auf jedem Sprach-Host funktioniert. Setzen Sie das JSON in einfache Anführungszeichen. Ungültiges JSON in `OVERLEAF_LANG_DOMAIN_MAPPING` hält beim Start jeden Dienst des Pods an, prüfen Sie daher nach dem Neustart `kubectl -n overleaf get pod`.

### Mehrere Replikate

Die Sprache ergibt sich aus dem Hostnamen jeder Anfrage und hängt daher nicht vom Replikat ab. Das Sticky-Cookie des Load Balancers wird pro Hostname gesetzt, sofern Sie ihm keine Domain zuweisen; ein Sprachwechsel kann einen Benutzer daher auf ein anderes Replikat verschieben. Seine Sitzung liegt in Redis und bleibt gültig.

### Auf Kubernetes getestet

Auf Kubernetes 1.37 hinter HAProxy, mit `OVERLEAF_LANG_DOMAIN_MAPPING`, das den Host der Website auf Englisch, einen `de.`-Host auf Deutsch und einen `fr.`-Host mit dem NodePort `:30081` auf Französisch abbildete: Der Host der Website zeigte Englisch, der `de.`-Host Deutsch, und der `fr.`-Host mit Port fiel wie oben beschrieben auf Englisch zurück.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.