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

# 현지화

### Overleaf i18n 구성

<Info>
  이 문서는 자체 호스팅 **Overleaf** 인스턴스의 국제화(i18n)를 구성하는 방법을 설명합니다.
</Info>

Overleaf는 여러 언어로 번역되어 있습니다. 적절히 구성하면 다음을 할 수 있습니다.

* Overleaf 인스턴스를 **하나의 고정된 언어**로 실행하거나,
* **여러 언어**를 활성화하여 `www.overleaf.com`처럼 사용자가 언어를 동적으로 전환할 수 있도록 합니다.

***

#### 단일 언어 구성

사이트 언어는 환경 변수 `OVERLEAF_SITE_LANGUAGE`(Overleaf **4.x 이하** 버전에서는 `SHARELATEX_SITE_LANGUAGE`)로 구성합니다.

지원되는 언어 코드는 다음과 같습니다.

* `en` - 영어(기본값)
* `es` - 스페인어
* `pt` - 포르투갈어
* `de` - 독일어
* `fr` - 프랑스어
* `cs` - 체코어
* `nl` - 네덜란드어
* `sv` - 스웨덴어
* `it` - 이탈리아어
* `tr` - 튀르키예어
* `zh-CN` - 중국어(간체)
* `no` - 노르웨이어
* `da` - 덴마크어
* `ru` - 러시아어
* `ko` - 한국어
* `ja` - 일본어
* `pl` - 폴란드어
* `fi` - 핀란드어

기본 언어는 영어입니다. 인터페이스 언어를 변경하려면(예: 중국어 간체로) `config/variables.env`에 다음 줄을 추가합니다.

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

그런 다음 구성을 적용합니다.

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

서비스가 다시 시작되면 웹 UI 메뉴의 인터페이스 언어에 새 설정이 반영됩니다.

#### 다중 언어 구성

사용자가 **로그아웃하지 않고 언어를 전환**할 수 있도록 하려면, 도메인 이름에 따라 서로 다른 언어를 제공하도록 Overleaf 인스턴스를 구성해야 합니다.

이 섹션에서는 다음을 가정합니다.

* 기본 도메인이 `overleaftest.com`입니다.
* **와일드카드 TLS 인증서**(예: `*.overleaftest.com`)가 있습니다.
* **`localhost`를 사용하지 않습니다**(하위 도메인 기반 언어 라우팅을 지원할 수 없기 때문입니다).

로컬 테스트에는 `dev-overleaf.com`과 같은 도메인을 사용할 수 있습니다.

<Steps>
  <Step title="TLS 프록시 구성(Nginx)">
    Overleaf가 사용자가 접속한 언어 도메인을 판단할 수 있도록 TLS 리버스 프록시가 원래의 `Host` 헤더를 전달해야 합니다.

    다음 지시문이 있는지 확인하세요.

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

    다음은 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="쿠키 도메인 구성">
    언어를 전환할 때 사용자가 로그아웃되지 않도록 하려면 쿠키가 언어별 하위 도메인 간에 공유되어야 합니다.

    `config/variables.env`에 다음 줄을 추가합니다.

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

    이렇게 하면 인증 쿠키가 `overleaftest.com` 아래의 모든 하위 도메인에서 유효합니다.
  </Step>

  <Step title="언어–도메인 매핑">
    다음으로 `OVERLEAF_LANG_DOMAIN_MAPPING`을 사용하여\
    언어 코드를 하위 도메인에 매핑하는 방법을 정의합니다.

    #### 구성 예시

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

    이 구성을 사용하면 다음과 같습니다.

    * `https://www.overleaftest.com` → 영어 인터페이스
    * `https://cn.overleaftest.com` → 중국어 간체 인터페이스

    필요에 따라 추가 언어와 하위 도메인으로 이 매핑을 확장할 수 있습니다.
  </Step>

  <Step title="apex 도메인 리디렉션">
    마지막으로 apex 도메인(`overleaftest.com`)을 기본 언어 도메인(`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.