> ## 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.

# Lokalizace

> Provozujte nasazení na Kubernetes v jednom jazyce nebo ve více jazycích na vlastních subdoménách.

Služba **web** volí jazyk rozhraní podle níže uvedených nastavení, a to pro každý požadavek podle názvu hostitele, který prohlížeč použil. Jazyky a nastavení jsou popsány v části [Lokalizace](https://ayakaleaf-pro.mintlify.site/cs/on-premises/configuration/overleaf-toolkit/localization.md).

| | |
| - | - |
| Služba | web v každém podu Ayakaleaf Pro; načítá se při startu webu |
| Síť | jeden název hostitele pro každý jazyk, všechny směrované na Ayakaleaf Pro |
| Periodické úlohy | žádné |

### Jeden jazyk

```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
```

### Více jazyků na subdoménách

**1. Nasměrujte hostitele všech jazyků na Ayakaleaf Pro**

Přidejte DNS název pro každý jazyk a všechny je nasměrujte na Ayakaleaf Pro s certifikátem, který je pokrývá, například `*.example.com`. Váš ingress nebo load balancer musí předávat hlavičku `Host` beze změny, což ingress-nginx i HAProxy ve výchozím nastavení dělají.

Uživatelé musí k jazykovým hostitelům přistupovat přes standardní porty (`https://cn.example.com`, nikoli `https://cn.example.com:30443`): Ayakaleaf Pro porovnává hostitele bez portu.

**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` umožní, aby přihlašovací cookie fungovala na všech jazykových hostitelích. JSON uzavřete do jednoduchých uvozovek. Neplatný JSON v `OVERLEAF_LANG_DOMAIN_MAPPING` zastaví při startu všechny služby podu, proto po restartu zkontrolujte `kubectl -n overleaf get pod`.

### Více replik

Jazyk se určuje podle názvu hostitele každého požadavku, takže nezávisí na replice. Sticky cookie load balanceru se nastavuje pro každý název hostitele zvlášť, pokud mu nezadáte doménu, takže přepnutí jazyka může uživatele přesunout na jinou repliku; jeho relace je v Redisu a zůstává platná.

### Testováno na Kubernetes

Na Kubernetes 1.37 za HAProxy, s `OVERLEAF_LANG_DOMAIN_MAPPING` mapujícím hostitele webu na angličtinu, hostitele `de.` na němčinu a hostitele `fr.` s NodePortem `:30081` na francouzštinu: hostitel webu zobrazil angličtinu, hostitel `de.` němčinu a hostitel `fr.` s portem se vrátil k angličtině, jak je popsáno výše.


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