# 언어 {#translate}

언어는 이해의 장벽이 될 수 있습니다. Tuist를 가능한 많은 사람이 접근할 수 있도록 만들고자 합니다. Tuist가 아직 지원하지 않는 언어를 사용한다면, 영어 소스와 [Glossia](https://glossia.ai)가 번역에 사용하는 로컬라이제이션 컨텍스트를 개선하여 Tuist가 해당 언어를 지원하도록 도울 수 있습니다.

언어 지원은 지속적인 노력이 필요하므로, 유지 관리를 도와줄 기여자가 있을 때 새로운 언어를 추가합니다. 현재 지원되는 언어는 다음과 같습니다:

- 영어
- 아랍어
- 스페인어
- 일본어
- 조지아어
- 한국어
- 러시아어
- 광둥어
- 중국어(간체)
- 중국어(번체)

> [!TIP]
> **새로운 언어 요청하기**
>
> Tuist가 새로운 언어를 지원하면 도움이 될 것이라고 생각된다면, 커뮤니티와 논의하기 위해 [커뮤니티 포럼에 새 주제](https://community.tuist.io/c/general/4)를 생성해 주세요.


## 도움 주는 방법 {#how-to-translate}

Tuist의 언어 지원은 리포지토리에서 주도됩니다. 기여자는 영어 소스와 번역 컨텍스트를 업데이트하고, [Glossia](https://glossia.ai)가 로컬라이즈된 파일을 자동으로 생성합니다.

워크플로는 다음과 같습니다:

1. 영어 소스 콘텐츠를 업데이트합니다.
2. 번역자가 더 많은 지침이 필요하다면 관련 `L10N.md` 컨텍스트를 업데이트합니다.
3. 해당 소스 변경 사항을 포함하여 풀 리퀘스트를 엽니다.
4. 변경 사항이 `main`에 병합되면, Glossia는 변경된 부분을 번역하고 업데이트된 로컬라이즈된 파일로 번역 풀 리퀘스트를 열어 둡니다.

> [!WARNING]
> **생성된 로컬라이즈 콘텐츠 수정 금지**
>
> 생성된 로컬라이즈 콘텐츠를 직접 편집하지 마세요. 대신 영어 소스와 언어 컨텍스트를 업데이트하세요.


## L10N.md 구조 {#l10n-md-structure}

`L10N.md` 파일은 Glossia가 번역할 때 사용하는 컨텍스트를 정의합니다. 이를 디렉터리 수준별로 존재할 수 있는 범위가 지정된 언어 지침으로 생각하는 것이 가장 쉽습니다.

예를 들어:

```text
.
|-- L10N.md
|-- server
|   |-- L10N.md
|   |-- L10N
|   |   `-- es.md
|   `-- priv
|       `-- gettext
|           `-- marketing.pot
```


## 디렉터리 컨텍스트 {#directory-context}

Glossia는 리포지토리 루트에서 번역 대상 디렉터리까지 내려가며 해당 경로에서 발견하는 모든 `L10N.md` 파일을 결합합니다.

위 예시에서:

- `L10N.md`는 전역적으로 적용됩니다.
- `server/L10N.md`는 서버별 컨텍스트를 추가합니다.
- `server/L10N/es.md`는 해당 영역에 대한 스페인어 전용 재정의 사항을 추가합니다.

즉, 컨텍스트를 적절한 위치에 배치할 수 있습니다:

- 루트 디렉터리에 리포지토리 전체 지침
- 하위 디렉터리에 영역별 지침
- `L10N/<locale>.md`에 언어별 지침
