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

# Localização

> Execute uma implantação no Kubernetes em um idioma, ou em vários idiomas em seus próprios subdomínios.

O serviço **web** escolhe o idioma da interface a partir das configurações abaixo, por requisição, a partir do nome de host usado pelo navegador. Os idiomas e as configurações estão descritos em [Localização](https://ayakaleaf-pro.mintlify.site/pt/on-premises/configuration/overleaf-toolkit/localization.md).

| | |
| - | - |
| Serviço | web, em cada pod do Ayakaleaf Pro; lido quando o web é iniciado |
| Rede | um nome de host por idioma, todos encaminhados para o Ayakaleaf Pro |
| Tarefas periódicas | nenhuma |

### Um idioma

```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ários idiomas em subdomínios

**1. Encaminhe cada host de idioma para o Ayakaleaf Pro**

Adicione um nome DNS por idioma e encaminhe todos para o Ayakaleaf Pro com um certificado que os cubra, por exemplo `*.example.com`. Seu ingress ou balanceador de carga precisa repassar o cabeçalho `Host` sem alterações, o que o ingress-nginx e o HAProxy fazem por padrão.

Os usuários precisam acessar os hosts de idioma nas portas padrão (`https://cn.example.com`, não `https://cn.example.com:30443`): o Ayakaleaf Pro compara o host sem a 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` permite que o cookie de login funcione em todos os hosts de idioma. Coloque o JSON entre aspas simples. Um JSON inválido em `OVERLEAF_LANG_DOMAIN_MAPPING` interrompe todos os serviços do pod na inicialização, então verifique `kubectl -n overleaf get pod` após a reinicialização.

### Várias réplicas

O idioma vem do nome de host de cada requisição, portanto não depende da réplica. O cookie de afinidade (sticky) do balanceador de carga é definido por nome de host, a menos que você lhe atribua um domínio, então trocar de idioma pode mover um usuário para outra réplica; a sessão dele está no Redis e continua válida.

### Testado no Kubernetes

No Kubernetes 1.37 atrás do HAProxy, com `OVERLEAF_LANG_DOMAIN_MAPPING` mapeando o host do site para inglês, um host `de.` para alemão e um host `fr.` com a NodePort `:30081` para francês: o host do site exibiu inglês, o host `de.` alemão, e o host `fr.` com a porta voltou para inglês, conforme descrito acima.


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