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

### Configuração de i18n do Overleaf

<Info>
  Este documento descreve como configurar a internacionalização (i18n) para uma instância auto-hospedada do **Overleaf**.
</Info>

O Overleaf foi traduzido para vários idiomas. Com a configuração adequada, você pode:

* Executar sua instância do Overleaf em **um único idioma fixo**, ou
* Habilitar **vários idiomas**, permitindo que os usuários alternem entre idiomas dinamicamente, de forma semelhante ao `www.overleaf.com`.

***

#### Configuração de idioma único

O idioma do site é configurado usando a variável de ambiente `OVERLEAF_SITE_LANGUAGE`(ou `SHARELATEX_SITE_LANGUAGE` para versões do Overleaf **4.x e anteriores**).

Os códigos de idioma suportados incluem:

* `en` - Inglês (padrão)
* `es` - Espanhol
* `pt` - Português
* `de` - Alemão
* `fr` - Francês
* `cs` - Tcheco
* `nl` - Holandês
* `sv` - Sueco
* `it` - Italiano
* `tr` - Turco
* `zh-CN` - Chinês (simplificado)
* `no` - Norueguês
* `da` - Dinamarquês
* `ru` - Russo
* `ko` - Coreano
* `ja` - Japonês
* `pl` - Polonês
* `fi` - Finlandês

O inglês é o idioma padrão. Para alterar o idioma da interface (por exemplo, para chinês simplificado), adicione a seguinte linha a `config/variables.env`:

```bash title="config/variables.env" theme={null}
OVERLEAF_SITE_LANGUAGE=zh-CN
```

Em seguida, aplique a configuração:

```bash theme={null}
bin/up
```

Depois que os serviços forem reiniciados, o idioma da interface nos menus da UI web deverá refletir a nova configuração.

#### Configuração de vários idiomas

Para permitir que os usuários **alternem entre idiomas sem precisar sair da conta**, sua instância do Overleaf deve ser configurada para servir idiomas diferentes com base em nomes de domínio.

Esta seção pressupõe que:

* Seu domínio principal é `overleaftest.com`
* Você tem um **certificado TLS curinga** (por exemplo, `*.overleaftest.com`)
* Você **não está usando `localhost`** (pois ele não suporta roteamento de idiomas baseado em subdomínios)

Para testes locais, você pode usar um domínio como `dev-overleaf.com`.

<Steps>
  <Step title="Configuração do proxy TLS (Nginx)">
    Seu proxy reverso TLS deve encaminhar o cabeçalho `Host` original para que o Overleaf possa determinar qual domínio de idioma o usuário acessou.

    Certifique-se de que a seguinte diretiva esteja presente:

    ```nginx theme={null}
    proxy_set_header Host $host;
    ```

    Aqui está um exemplo de configuração do Nginx:

    ```nginx theme={null}
    server {
        listen 443 ssl;
        server_name    _; # Catch all, see http://nginx.org/en/docs/http/server_names.html
        server_name *.overleaftest.com;
        ssl_certificate /etc/nginx/ssl/nginx.crt;
        ssl_certificate_key /etc/nginx/ssl/nginx.key;
        ssl_protocols               TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers   on;
        # used cloudflares ciphers https://github.com/cloudflare/sslconfig/blob/master/conf
        ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;

        # config to enable HSTS(HTTP Strict Transport Security) https://developer.mozilla.org/en-US/docs/Security/HTTP_Strict_Transport_Security
        # to avoid ssl stripping https://en.wikipedia.org/wiki/SSL_stripping#SSL_stripping	
        add_header Strict-Transport-Security "max-age=31536000; includeSubdomains;";
        server_tokens off;
        add_header X-Frame-Options SAMEORIGIN;
        add_header X-Content-Type-Options nosniff;
        client_max_body_size 50M;

        location / {
            proxy_pass http://localhost:5000; # change to whatever host/port the docker container is listening on.
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_read_timeout 3m;
            proxy_send_timeout 3m;
            
            # add this to your nginx conf
            proxy_set_header Host $host;
        }
    }
    ```
  </Step>

  <Step title="Configurar o domínio dos cookies">
    Para evitar que os usuários sejam desconectados ao trocar de idioma, os cookies devem ser compartilhados entre os subdomínios de idioma.

    Adicione a seguinte linha a `config/variables.env`:

    ```env title="config/variables.env" theme={null}
    # Note the leading dot
    COOKIE_DOMAIN=.overleaftest.com
    ```

    Isso garante que os cookies de autenticação sejam válidos para todos os subdomínios de `overleaftest.com`.
  </Step>

  <Step title="Mapeamento entre idioma e domínio">
    Em seguida, defina como os códigos de idioma são mapeados para subdomínios usando\
    `OVERLEAF_LANG_DOMAIN_MAPPING`.

    #### Exemplo de configuração

    ```dotenv title="config/variables.env" wrap theme={null}
    OVERLEAF_LANG_DOMAIN_MAPPING='{"www": {"lngCode": "en","url": "https:\/\/www.overleaftest.com"},"cn": {"lngCode": "zh-CN","url": "https:\/\/cn.overleaftest.com"}}'
    ```

    Com esta configuração:

    * `https://www.overleaftest.com` → interface em inglês
    * `https://cn.overleaftest.com` → interface em chinês simplificado

    Você pode estender esse mapeamento com idiomas e subdomínios adicionais conforme necessário.
  </Step>

  <Step title="Redirecionar o domínio raiz">
    Por fim, redirecione o domínio raiz (`overleaftest.com`) para o domínio do idioma padrão (`www.overleaftest.com`).

    ```nginx theme={null}
    server{
        listen 80;
        server_name overleaftest.com;
        return 301 https://www.overleaftest.com$request_uri;
    }

    server {
        listen 443 ssl http2;
        server_name overleaftest.com;
        ssl_certificate     /path/to/fullchain.cer;
        ssl_certificate_key /path/to/overleaftest.com.key;
        return 301 https://www.overleaftest.com$request_uri;
    }
    ```
  </Step>
</Steps>


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