# 語言 {#translate}

語言可能會成為理解嘅障礙。我哋希望確保盡可能多嘅人都可以使用 Tuist。如果你講嘅語言 Tuist 尚未支援，你可以透過改進英文原文同驅動我哋翻譯流程嘅本地化上下文，幫助 Tuist 支援該語言。

由於語言支援係一項持續進行嘅工作，我哋會喺見到有貢獻者願意協助維護時，先至加入新語言。目前支援以下語言：

- 英文
- 西班牙文
- 日文
- 格魯吉亞文
- 韓文
- 俄文
- 廣東話
- 簡體中文
- 繁體中文

> [!TIP]
> **請求新增語言**
>
> 如果你認為 Tuist 支援新語言會有幫助，請建立一個新嘅[社區論壇主題](https://community.tuist.io/c/general/4)，同社區討論。


## 如何提供幫助 {#how-to-translate}

Tuist 嘅語言支援由代碼庫驅動。貢獻者更新英文原文同翻譯上下文，我哋嘅翻譯流程會自動生成本地化文件。

工作流程如下：

1. 更新英文原文內容。
2. 如果譯者需要更多指引，請更新相關嘅 `L10N.md` 上下文。
3. 提交包含這些來源更改嘅拉取請求。
4. 當更改合併到 `main` 後，翻譯工作流程會重新生成目標 `.po` 文件，並開啟一個後續拉取請求以包含翻譯更新。

> [!WARNING]
> **切勿修改生成嘅本地化內容**
>
> 唔好直接編輯生成嘅本地化內容。請改為更新英文原文同語言上下文。


## L10N.md 結構 {#l10n-md-structure}

`L10N.md` 文件定義咗發送畀翻譯模型嘅上下文。最簡單嘅理解方式係將佢哋視為可以存放喺唔同目錄層級嘅範圍化語言指令。

例如：

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


## 目錄上下文 {#directory-context}

翻譯腳本會從代碼庫根目錄向下遍歷至被翻譯嘅目錄，並組合喺該路徑上找到嘅每個 `L10N.md` 文件。

喺上面嘅例子中：

- `L10N.md` 全局適用。
- `server/L10N.md` 添加伺服器特定嘅上下文。
- `server/L10N/es.md` 為該區域添加僅限西班牙文嘅覆蓋設定。

這意味著你可以將上下文放置喺適當嘅位置：

- 喺根目錄放置適用於整個代碼庫嘅指引
- 喺子目錄放置特定區域嘅指引
- 喺 `L10N/<locale>.md` 放置特定語言嘅指引
