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

# Lokalisatie

### i18n-configuratie van Overleaf

<Info>
  Dit document beschrijft hoe u internationalisatie (i18n) configureert voor een zelfgehoste **Overleaf**-instantie.
</Info>

Overleaf is in meerdere talen vertaald. Met de juiste configuratie kunt u:

* Uw Overleaf-instantie in **één vaste taal** draaien, of
* **Meerdere talen** inschakelen, zodat gebruikers dynamisch van taal kunnen wisselen, vergelijkbaar met `www.overleaf.com`.

***

#### Configuratie met één taal

De taal van de site wordt ingesteld met de omgevingsvariabele `OVERLEAF_SITE_LANGUAGE` (of `SHARELATEX_SITE_LANGUAGE` voor Overleaf-versies **4.x en ouder**).

Ondersteunde taalcodes zijn onder meer:

* `en` - Engels (standaard)
* `es` - Spaans
* `pt` - Portugees
* `de` - Duits
* `fr` - Frans
* `cs` - Tsjechisch
* `nl` - Nederlands
* `sv` - Zweeds
* `it` - Italiaans
* `tr` - Turks
* `zh-CN` - Chinees (vereenvoudigd)
* `no` - Noors
* `da` - Deens
* `ru` - Russisch
* `ko` - Koreaans
* `ja` - Japans
* `pl` - Pools
* `fi` - Fins

Engels is de standaardtaal. Om de interfacetaal te wijzigen (bijvoorbeeld naar vereenvoudigd Chinees), voegt u de volgende regel toe aan `config/variables.env`:

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

Pas daarna de configuratie toe:

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

Nadat de services opnieuw zijn gestart, zou de interfacetaal in de menu's van de web-UI de nieuwe instelling moeten weergeven.

#### Configuratie met meerdere talen

Om gebruikers **van taal te laten wisselen zonder uit te loggen**, moet uw Overleaf-instantie zo zijn geconfigureerd dat verschillende talen worden aangeboden op basis van domeinnamen.

Deze sectie gaat ervan uit dat:

* Uw primaire domein `overleaftest.com` is
* U een **wildcard-TLS-certificaat** hebt (bijv. `*.overleaftest.com`)
* U **geen `localhost` gebruikt** (omdat dat geen taalroutering op basis van subdomeinen ondersteunt)

Voor lokale tests kunt u een domein zoals `dev-overleaf.com` gebruiken.

<Steps>
  <Step title="TLS-proxyconfiguratie (Nginx)">
    Uw TLS-reverse proxy moet de oorspronkelijke `Host`-header doorsturen, zodat Overleaf kan bepalen via welk taaldomein de gebruiker de site heeft bezocht.

    Zorg ervoor dat de volgende directive aanwezig is:

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

    Hier is een voorbeeld van een Nginx-configuratie:

    ```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="Cookiedomein configureren">
    Om te voorkomen dat gebruikers worden uitgelogd wanneer ze van taal wisselen, moeten cookies over alle taalsubdomeinen worden gedeeld.

    Voeg de volgende regel toe aan `config/variables.env`:

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

    Dit zorgt ervoor dat authenticatiecookies geldig zijn voor alle subdomeinen onder `overleaftest.com`.
  </Step>

  <Step title="Koppeling tussen taal en domein">
    Definieer vervolgens hoe taalcodes aan subdomeinen worden gekoppeld met\
    `OVERLEAF_LANG_DOMAIN_MAPPING`.

    #### Voorbeeldconfiguratie

    ```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"}}'
    ```

    Met deze configuratie:

    * `https://www.overleaftest.com` → Engelse interface
    * `https://cn.overleaftest.com` → vereenvoudigd Chinese interface

    U kunt deze koppeling naar behoefte uitbreiden met extra talen en subdomeinen.
  </Step>

  <Step title="Het apex-domein omleiden">
    Leid tot slot het apex-domein (`overleaftest.com`) om naar het domein van de standaardtaal (`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.