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

# Localizzazione

> Esegui un deployment Kubernetes in una sola lingua, oppure in più lingue su sottodomini dedicati.

Il servizio **web** sceglie la lingua dell'interfaccia in base alle impostazioni seguenti, per ogni richiesta, a partire dal nome host usato dal browser. Le lingue e le impostazioni sono descritte in [Localizzazione](https://ayakaleaf-pro.mintlify.site/it/on-premises/configuration/overleaf-toolkit/localization.md).

| | |
| - | - |
| Servizio | web, in ogni pod di Ayakaleaf Pro; letto all'avvio di web |
| Rete | un nome host per lingua, tutti instradati verso Ayakaleaf Pro |
| Job periodici | nessuno |

### Una sola lingua

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

### Più lingue su sottodomini

**1. Instrada ogni host di lingua verso Ayakaleaf Pro**

Aggiungi un nome DNS per ogni lingua e instradali tutti verso Ayakaleaf Pro con un certificato che li copra, ad esempio `*.example.com`. Il tuo ingress o load balancer deve inoltrare l'header `Host` invariato, cosa che ingress-nginx e HAProxy fanno per impostazione predefinita.

Gli utenti devono raggiungere gli host delle lingue sulle porte standard (`https://cn.example.com`, non `https://cn.example.com:30443`): Ayakaleaf Pro confronta l'host senza la porta.

**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` consente al cookie di accesso di funzionare su ogni host di lingua. Racchiudi il JSON tra apici singoli. Un JSON non valido in `OVERLEAF_LANG_DOMAIN_MAPPING` blocca all'avvio ogni servizio del pod, quindi controlla `kubectl -n overleaf get pod` dopo il riavvio.

### Più repliche

La lingua deriva dal nome host di ogni richiesta, quindi non dipende dalla replica. Il cookie sticky del load balancer viene impostato per nome host, a meno che tu non gli assegni un dominio, quindi cambiare lingua può spostare un utente su un'altra replica; la sua sessione è in Redis e resta valida.

### Testato su Kubernetes

Su Kubernetes 1.37 dietro HAProxy, con `OVERLEAF_LANG_DOMAIN_MAPPING` che associava l'host del sito all'inglese, un host `de.` al tedesco e un host `fr.` con la NodePort `:30081` al francese: l'host del sito mostrava l'inglese, l'host `de.` il tedesco, e l'host `fr.` con la porta ripiegava sull'inglese, come descritto sopra.


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