> For the complete documentation index, see [llms.txt](https://ayakaleaf-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://ayakaleaf-pro.ayaka.space/on-premises/el/diamorfosi/overleaf-toolkit/localization.md).

# Τοπικοποίηση

### Ρύθμιση i18n του Overleaf

{% hint style="info" %}
Αυτό το έγγραφο περιγράφει πώς να ρυθμίσετε τη διεθνοποίηση (i18n) για μια αυτο-φιλοξενούμενη **Overleaf** εγκατάσταση.
{% endhint %}

Το Overleaf έχει μεταφραστεί σε πολλές γλώσσες. Με την κατάλληλη ρύθμιση, μπορείτε:

* Εκτελέστε την εγκατάσταση του Overleaf σας σε **μία μόνο σταθερή γλώσσα**, ή
* Ενεργοποιήστε **πολλές γλώσσες**, επιτρέποντας στους χρήστες να αλλάζουν γλώσσες δυναμικά, παρόμοια με `www.overleaf.com`.

***

#### Ρύθμιση μίας γλώσσας

Η γλώσσα του ιστότοπου ρυθμίζεται χρησιμοποιώντας τη μεταβλητή περιβάλλοντος `OVERLEAF_SITE_LANGUAGE`(ή `SHARELATEX_SITE_LANGUAGE` για εκδόσεις του Overleaf **4.x και παλαιότερες**).

Οι υποστηριζόμενοι κωδικοί γλώσσας περιλαμβάνουν:

* `en` - Αγγλικά (προεπιλογή)
* `es` - Ισπανικά
* `pt` - Πορτογαλικά
* `de` - Γερμανικά
* `fr` - Γαλλικά
* `cs` - Τσεχικά
* `nl` - Ολλανδικά
* `sv` - Σουηδικά
* `it` - Ιταλικά
* `tr` - Τουρκικά
* `zh-CN` - Κινεζικά (απλοποιημένα)
* `no` - Νορβηγικά
* `da` - Δανικά
* `ru` - Ρωσικά
* `ko` - Κορεατικά
* `ja` - Ιαπωνικά
* `pl` - Πολωνικά
* `fi` - Φινλανδικά

Τα Αγγλικά είναι η προεπιλεγμένη γλώσσα. Για να αλλάξετε τη γλώσσα διεπαφής (για παράδειγμα, στα Απλοποιημένα Κινεζικά), προσθέστε την ακόλουθη γραμμή στο `config/variables.env`:

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

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

{% endcode %}

Στη συνέχεια εφαρμόστε τη ρύθμιση:

```bash
bin/up
```

Μετά την επανεκκίνηση των υπηρεσιών, η γλώσσα διεπαφής στα μενού του web UI θα πρέπει να αντικατοπτρίζει τη νέα ρύθμιση.

#### Ρύθμιση πολλαπλών γλωσσών

Για να επιτρέψετε στους χρήστες να **αλλάζουν γλώσσα χωρίς αποσύνδεση**, η εγκατάσταση του Overleaf σας πρέπει να ρυθμιστεί ώστε να εξυπηρετεί διαφορετικές γλώσσες με βάση τα ονόματα τομέα.

Αυτή η ενότητα προϋποθέτει:

* Το κύριο domain σας είναι `overleaftest.com`
* Έχετε ένα **πιστοποιητικό TLS wildcard** (π.χ. `*.overleaftest.com`)
* Χρησιμοποιείτε **δεν χρησιμοποιείτε `localhost`** (καθώς δεν μπορεί να υποστηρίξει δρομολόγηση γλώσσας με βάση υποτομείς)

Για τοπικές δοκιμές, μπορείτε να χρησιμοποιήσετε ένα domain όπως `dev-overleaf.com`.

{% stepper %}
{% step %}

### Ρύθμιση διαμεσολαβητή TLS (Nginx)

Το αντίστροφο proxy TLS πρέπει να προωθεί την αρχική `Host` κεφαλίδα, ώστε το Overleaf να μπορεί να προσδιορίσει σε ποιο γλωσσικό domain έγινε πρόσβαση από τον χρήστη.

Βεβαιωθείτε ότι υπάρχει η ακόλουθη οδηγία:

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

Ορίστε ένα παράδειγμα ρύθμισης του Nginx:

<pre class="language-nginx"><code class="lang-nginx">server {
    listen 443 ssl;
    server_name    _; # Κάλυψη όλων, δείτε 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;
    # χρησιμοποιήθηκαν οι κρυπτογραφικές σουίτες της 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;

    # ρύθμιση για ενεργοποίηση του HSTS (HTTP Strict Transport Security) https://developer.mozilla.org/en-US/docs/Security/HTTP_Strict_Transport_Security
    # για αποφυγή του 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; # αλλάξτε το στο όποιο host/port ακούει το κοντέινερ docker.
        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;
        
        # προσθέστε αυτό στο nginx conf σας
<strong>        proxy_set_header Host $host;
</strong>    }
}
</code></pre>

{% endstep %}

{% step %}

### Ρύθμιση domain cookie

Για να αποτραπεί η αποσύνδεση των χρηστών όταν αλλάζουν γλώσσα, τα cookies πρέπει να μοιράζονται μεταξύ των υποτομέων γλώσσας.

Προσθέστε την ακόλουθη γραμμή στο `config/variables.env`:

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

```env
# Προσέξτε την αρχική τελεία
COOKIE_DOMAIN=.overleaftest.com
```

{% endcode %}

Αυτό διασφαλίζει ότι τα cookies ελέγχου ταυτότητας είναι έγκυρα για όλους τους υποτομείς κάτω από `overleaftest.com`.
{% endstep %}

{% step %}

### Αντιστοίχιση γλώσσας–domain

Στη συνέχεια, ορίστε πώς οι κωδικοί γλώσσας αντιστοιχίζονται σε υποτομείς χρησιμοποιώντας\
`OVERLEAF_LANG_DOMAIN_MAPPING`.

#### Παράδειγμα ρύθμισης

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

Με αυτή τη ρύθμιση:

* `https://www.overleaftest.com` → Διεπαφή στα Αγγλικά
* `https://cn.overleaftest.com` → Διεπαφή στα Απλοποιημένα Κινεζικά

Μπορείτε να επεκτείνετε αυτή την αντιστοίχιση με επιπλέον γλώσσες και υποτομείς όπως απαιτείται.
{% endstep %}

{% step %}

### Ανακατεύθυνση του Apex Domain

Τέλος, ανακατευθύνετε το apex domain (`overleaftest.com`) στο προεπιλεγμένο γλωσσικό domain (`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     /path/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 %}


---

# 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://ayakaleaf-pro.ayaka.space/on-premises/el/diamorfosi/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.
