> 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/on-premises-cs/konfigurace/overleaf-toolkit/localization.md).

# Lokalizace

### Konfigurace internacionalizace Overleafu

{% hint style="info" %}
Tento dokument popisuje, jak nakonfigurovat internacionalizaci (i18n) pro self-hostovanou **Overleaf** instanci.
{% endhint %}

Overleaf byl přeložen do několika jazyků. S příslušnou konfigurací můžete:

* Spouštět vaši instanci Overleafu v **jednom pevném jazyce**, nebo
* Povolit **více jazyků**, což uživatelům umožní dynamicky přepínat jazyky, podobně jako na `www.overleaf.com`.

***

#### Konfigurace jednoho jazyka

Jazyk webu se nastavuje pomocí proměnné prostředí `OVERLEAF_SITE_LANGUAGE`(nebo `SHARELATEX_SITE_LANGUAGE` pro verze Overleafu **4.x a starší**).

Podporované kódy jazyků zahrnují:

* `en` - angličtina (výchozí)
* `es` - španělština
* `pt` - portugalština
* `de` - němčina
* `fr` - francouzština
* `cs` - čeština
* `nl` - nizozemština
* `sv` - švédština
* `it` - italština
* `tr` - turečtina
* `zh-CN` - čínština (zjednodušená)
* `no` - norština
* `da` - dánština
* `ru` - ruština
* `ko` - korejština
* `ja` - japonština
* `pl` - polština
* `fi` - finština

Angličtina je výchozí jazyk. Chcete-li změnit jazyk rozhraní (například na zjednodušenou čínštinu), přidejte následující řádek do `config/variables.env`:

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

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

{% endcode %}

Poté použijte konfiguraci:

```bash
bin/up
```

Po restartu služeb by se měl jazyk rozhraní v nabídkách webového UI změnit podle nového nastavení.

#### Konfigurace více jazyků

Aby uživatelům umožnili **přepínat jazyky bez odhlášení**, musí být vaše instance Overleafu nakonfigurována tak, aby obsluhovala různé jazyky podle názvů domén.

Tato část předpokládá:

* Vaše primární doména je `overleaftest.com`
* Používáte **TLS certifikát s wildcardem** (např. `*.overleaftest.com`)
* Používáte **nepoužíváte `localhost`** (protože nepodporuje směrování jazyků založené na subdoménách)

Pro lokální testování můžete použít doménu jako `dev-overleaf.com`.

{% stepper %}
{% step %}

### Konfigurace TLS proxy (Nginx)

Vaše TLS reverzní proxy musí předávat původní `Host` hlavičku, aby Overleaf mohl určit, k jaké jazykové doméně uživatel přistoupil.

Ujistěte se, že je přítomen následující direktiv:&#x20;

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

Zde je příklad konfigurace Nginx:&#x20;

<pre class="language-nginx"><code class="lang-nginx">server {
    listen 443 ssl;
    server_name    _; # Zachytit vše, viz 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;
    # použity šifry Cloudflare 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;

    # konfigurace pro povolení HSTS (HTTP Strict Transport Security) https://developer.mozilla.org/en-US/docs/Security/HTTP_Strict_Transport_Security
    # aby se zabránilo SSL strippingu 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; # změňte na libovolný hostitel/port, na kterém naslouchá kontejner Dockeru.
        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;
        
        # přidejte toto do vaší konfigurace nginxu
<strong>        proxy_set_header Host $host;
</strong>    }
}
</code></pre>

{% endstep %}

{% step %}

### Konfigurace domény cookie

Aby se uživatelé při přepínání jazyků neodhlašovali, musí být cookies sdíleny napříč jazykovými subdoménami.

Přidejte následující řádek do `config/variables.env`:

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

```env
# Všimněte si počáteční tečky
COOKIE_DOMAIN=.overleaftest.com
```

{% endcode %}

To zajistí, že ověřovací cookies budou platné pro všechny subdomény pod `overleaftest.com`.
{% endstep %}

{% step %}

### Mapování jazyka na doménu

Dále definujte, jak se kódy jazyků mapují na subdomény pomocí\
`OVERLEAF_LANG_DOMAIN_MAPPING`.

#### Příklad konfigurace

{% 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 %}

S touto konfigurací:

* `https://www.overleaftest.com` → anglické rozhraní
* `https://cn.overleaftest.com` → rozhraní v zjednodušené čínštině

Toto mapování můžete podle potřeby rozšířit o další jazyky a subdomény.
{% endstep %}

{% step %}

### Přesměrování apexové domény

Nakonec přesměrujte apexovou doménu (`overleaftest.com`) na výchozí jazykovou doménu (`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/on-premises-cs/konfigurace/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.
