> For the complete documentation index, see [llms.txt](https://overleaf-pro.ayaka.space/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://overleaf-pro.ayaka.space/on-premises/sv/konfiguration/overleaf-toolkit/localization.md).

# Lokalisering

### Overleaf i18n-konfiguration

{% hint style="info" %}
Detta dokument beskriver hur man konfigurerar internationalisering (i18n) för en självhostad **Overleaf** instans.
{% endhint %}

Overleaf har översatts till flera språk. Med rätt konfiguration kan du:

* Köra din Overleaf-instans på **ett enda fast språk**, eller
* Aktivera **flera språk**, så att användare kan byta språk dynamiskt, i likhet med `www.overleaf.com`.

***

#### Konfiguration för ett enda språk

Webbplatsens språk konfigureras med miljövariabeln `OVERLEAF_SITE_LANGUAGE`(eller `SHARELATEX_SITE_LANGUAGE` för Overleaf-versioner **4.x och tidigare**).

Språkkoder som stöds inkluderar:

* `en` - Engelska (standard)
* `es` - Spanska
* `pt` - Portugisiska
* `de` - Tyska
* `fr` - Franska
* `cs` - Tjeckiska
* `nl` - Nederländska
* `sv` - Svenska
* `it` - Italienska
* `tr` - Turkiska
* `zh-CN` - Kinesiska (förenklad)
* `no` - Norska
* `da` - Danska
* `ru` - Ryska
* `ko` - Koreanska
* `ja` - Japanska
* `pl` - Polska
* `fi` - Finska

Engelska är standardspråket. För att ändra gränssnittsspråket (till exempel till förenklad kinesiska), lägg till följande rad i `config/variables.env`:

{% code title="config/variables.env" %}

```bash
OVERLEAF_SITE_LANGUAGE=zh-CN
```

{% endcode %}

Applicera sedan konfigurationen:

```bash
bin/up
```

Efter att tjänsterna har startats om bör gränssnittsspråket i webbgränssnittets menyer återspegla den nya inställningen.

#### Konfiguration för flera språk

För att låta användare **byta språk utan att logga ut**, måste din Overleaf-instans konfigureras för att leverera olika språk baserat på domännamn.

Detta avsnitt förutsätter:

* Din primära domän är `overleaftest.com`
* Du har ett **wildcard-TLS-certifikat** (t.ex. `*.overleaftest.com`)
* Du använder **inte `localhost`** (eftersom det inte kan stödja språkdirigering baserad på underdomäner)

För lokal testning kan du använda en domän som `dev-overleaf.com`.

{% stepper %}
{% step %}

### TLS-proxykonfiguration (Nginx)

Din TLS-reverseproxy måste vidarebefordra den ursprungliga `Host` -rubriken så att Overleaf kan avgöra vilken språkd omän användaren besökte.

Se till att följande direktiv finns med:&#x20;

```nginx
proxy_set_header Host $host;
```

Här är ett exempel på en Nginx-konfiguration:&#x20;

<pre class="language-nginx"><code class="lang-nginx">server {
    listen 443 ssl;
    server_name    _; # Fånga allt, se 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;
    # använda Cloudflares chiffer 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;

    # konfiguration för att aktivera HSTS (HTTP Strict Transport Security) https://developer.mozilla.org/en-US/docs/Security/HTTP_Strict_Transport_Security
    # för att undvika 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; # ändra till den värd/port som dockercontainern lyssnar på.
        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;
        
        # lägg till detta i din nginx-konfiguration
<strong>        proxy_set_header Host $host;
</strong>    }
}
</code></pre>

{% endstep %}

{% step %}

### Konfigurera cookiedomän

För att förhindra att användare loggas ut när de byter språk måste cookies delas mellan språkdomäner.

Lägg till följande rad i `config/variables.env`:

{% code title="config/variables.env" %}

```env
# Observera den inledande punkten
COOKIE_DOMAIN=.overleaftest.com
```

{% endcode %}

Detta säkerställer att autentiseringscookies är giltiga för alla underdomäner under `overleaftest.com`.
{% endstep %}

{% step %}

### Språk–domän-mappning

Definiera sedan hur språkkoder mappas till underdomäner med hjälp av\
`OVERLEAF_LANG_DOMAIN_MAPPING`.

#### Exempelkonfiguration

{% code title="config/variables.env" overflow="wrap" %}

```dotenv
OVERLEAF_LANG_DOMAIN_MAPPING='{"www": {"lngCode": "en","url": "https:\/\/www.overleaftest.com"},"cn": {"lngCode": "zh-CN","url": "https:\/\/cn.overleaftest.com"}}'
```

{% endcode %}

Med denna konfiguration:

* `https://www.overleaftest.com` → Engelskt gränssnitt
* `https://cn.overleaftest.com` → Gränssnitt på förenklad kinesiska

Du kan utöka denna mappning med ytterligare språk och underdomäner vid behov.
{% endstep %}

{% step %}

### Omdirigera apex-domänen

Slutligen, omdirigera apex-domänen (`overleaftest.com`) till standardspråkdomänen (`www.overleaftest.com`).

<pre class="language-nginx"><code class="lang-nginx">server{
    listen 80;
    server_name overleaftest.com;
<strong>    return 301 https://www.overleaftest.com$request_uri;
</strong>}

server {
    listen 443 ssl http2;
    server_name overleaftest.com;
    ssl_certificate     /<a data-footnote-ref href="#user-content-fn-1">p</a>ath/to/fullchain.cer;
    ssl_certificate_key /path/to/overleaftest.com.key;
<strong>    return 301 https://www.overleaftest.com$request_uri;
</strong>}
</code></pre>

{% endstep %}
{% endstepper %}

[^1]:


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://overleaf-pro.ayaka.space/on-premises/sv/konfiguration/overleaf-toolkit/localization.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
