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

# Lokalisasi

> Jalankan deployment Kubernetes dalam satu bahasa, atau dalam beberapa bahasa di subdomainnya masing-masing.

Layanan **web** memilih bahasa antarmuka dari pengaturan di bawah ini, per permintaan berdasarkan nama host yang digunakan browser. Bahasa dan pengaturannya dijelaskan di [Lokalisasi](https://ayakaleaf-pro.mintlify.site/id/on-premises/configuration/overleaf-toolkit/localization.md).

| | |
| - | - |
| Layanan | web, di setiap pod Ayakaleaf Pro; dibaca saat web dimulai |
| Jaringan | satu nama host per bahasa, semuanya diarahkan ke Ayakaleaf Pro |
| Tugas berkala | tidak ada |

### Satu bahasa

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

### Beberapa bahasa di subdomain

**1. Arahkan setiap host bahasa ke Ayakaleaf Pro**

Tambahkan nama DNS per bahasa dan arahkan semuanya ke Ayakaleaf Pro dengan sertifikat yang mencakup semuanya, misalnya `*.example.com`. Ingress atau load balancer Anda harus meneruskan header `Host` tanpa perubahan, yang dilakukan ingress-nginx dan HAProxy secara default.

Pengguna harus menjangkau host bahasa melalui port standar (`https://cn.example.com`, bukan `https://cn.example.com:30443`): Ayakaleaf Pro membandingkan host tanpa 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` membuat cookie login berfungsi di setiap host bahasa. Letakkan JSON di dalam tanda kutip tunggal. JSON yang tidak valid di `OVERLEAF_LANG_DOMAIN_MAPPING` menghentikan setiap layanan pod saat startup, jadi periksa `kubectl -n overleaf get pod` setelah mulai ulang.

### Beberapa replika

Bahasa berasal dari nama host setiap permintaan, sehingga tidak bergantung pada replika. Cookie sticky load balancer diatur per nama host kecuali Anda memberinya domain, sehingga berpindah bahasa dapat memindahkan pengguna ke replika lain; sesinya berada di Redis dan tetap valid.

### Diuji di Kubernetes

Di Kubernetes 1.37 di belakang HAProxy, dengan `OVERLEAF_LANG_DOMAIN_MAPPING` yang memetakan host situs ke bahasa Inggris, host `de.` ke bahasa Jerman, dan host `fr.` dengan NodePort `:30081` ke bahasa Prancis: host situs menampilkan bahasa Inggris, host `de.` bahasa Jerman, dan host `fr.` dengan port kembali ke bahasa Inggris, seperti dijelaskan di atas.


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