# 言語 {#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` に配置
