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

# Lokalisointi

> Käytä Kubernetes-käyttöönottoa yhdellä kielellä tai useilla kielillä omilla aliverkkotunnuksillaan.

**web**-palvelu valitsee käyttöliittymän kielen alla olevien asetusten perusteella pyyntökohtaisesti sen isäntänimen mukaan, jota selain käytti. Kielet ja asetukset on kuvattu sivulla [Lokalisointi](https://ayakaleaf-pro.mintlify.site/fi/on-premises/configuration/overleaf-toolkit/localization.md).

| | |
| - | - |
| Palvelu | web, jokaisessa Ayakaleaf Pro -podissa; luetaan, kun web käynnistyy |
| Verkko | yksi isäntänimi kieltä kohden, kaikki ohjattuina Ayakaleaf Prohon |
| Ajastetut tehtävät | ei mitään |

### Yksi kieli

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

### Useita kieliä aliverkkotunnuksilla

**1. Ohjaa jokainen kielen isäntä Ayakaleaf Prohon**

Lisää DNS-nimi kullekin kielelle ja ohjaa ne kaikki Ayakaleaf Prohon varmenteella, joka kattaa ne kaikki, esimerkiksi `*.example.com`. Ingressin tai kuormantasaajan on välitettävä `Host`-otsake muuttamattomana, minkä ingress-nginx ja HAProxy tekevät oletuksena.

Käyttäjien on tavoitettava kielten isännät vakioporteissa (`https://cn.example.com`, ei `https://cn.example.com:30443`): Ayakaleaf Pro vertaa isäntää ilman porttia.

**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` saa kirjautumisevästeen toimimaan jokaisella kielen isännällä. Laita JSON yksinkertaisiin lainausmerkkeihin. Virheellinen JSON `OVERLEAF_LANG_DOMAIN_MAPPING`-asetuksessa pysäyttää podin jokaisen palvelun käynnistyksen yhteydessä, joten tarkista `kubectl -n overleaf get pod` uudelleenkäynnistyksen jälkeen.

### Useita replikoita

Kieli määräytyy kunkin pyynnön isäntänimestä, joten se ei riipu replikasta. Kuormantasaajan pysyvyysevästeen (sticky cookie) asetetaan isäntänimikohtaisesti, ellet anna sille verkkotunnusta, joten kielen vaihtaminen voi siirtää käyttäjän toiselle replikalle; hänen istuntonsa on Redisissä ja pysyy voimassa.

### Testattu Kubernetesissa

Kubernetes 1.37:ssä HAProxyn takana, kun `OVERLEAF_LANG_DOMAIN_MAPPING` yhdisti sivuston isännän englantiin, `de.`-isännän saksaan ja `fr.`-isännän NodePortilla `:30081` ranskaan: sivuston isäntä näytti englantia, `de.`-isäntä saksaa ja porttia käyttävä `fr.`-isäntä palasi englantiin, kuten yllä on kuvattu.


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