> For the complete documentation index, see [llms.txt](https://docs.chamilo.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.chamilo.org/3.x/ja/gaido/teacher-guide/adding-content/multi-language-content.md).

# 多言語コンテンツ

Chamilo では、**同じコンテンツの複数言語版を 1 つのフィールドに記述**できます。コース説明のセクション、ドキュメント、テストの設問、アンケートなどです。各学習者には、自分の言語で書かれた版だけが自動的に表示されます。これが **translate\_html** 機能であり、これを制御するプラットフォーム設定にちなんで名付けられています。

関わるのは 3 種類の人で、それぞれ異なる側面を見ます。

* **管理者**は、誰もが使えるようになる前に、プラットフォーム全体でこの機能を有効にする必要があります。
* \*\*あなた（教師）\*\*は、リッチテキストエディタのボタンを使って、各言語版を記述します。
* **学習者**は、この機能の存在を知ることもなく恩恵を受けます。設定を探したり切り替えたりすることなく、自分の言語でコンテンツが表示されるだけです。

## 機能の有効化

これは管理者の作業であり、教師の作業ではありません。**管理 > 設定 > エディタ** で、**多言語 HTML コンテンツのサポート** 設定（`translate_html`）を有効にする必要があります。エディタのツールバーに後述の **Lang ISO** ボタンが見当たらない場合、ほぼ確実にこれが原因です。管理者に依頼してください。設定の完全なリファレンスは [エディタ設定](/3.x/ja/gaido-1/admin-guide/platform-settings/editor-settings.md) を参照してください。v3.0.0 以降、この設定はデフォルトで有効です（それ以前のバージョンではそうではありませんでした）。ただし、無効だった以前のバージョンからアップグレードした場合を除きます。

この設定を再びオフにしても、すでにこの方法で書かれたコンテンツは削除も破損もしません。後述の [学習者に表示される内容](#what-learners-see) を参照してください。

## 多言語コンテンツの記述

この機能は、完全なリッチテキストエディタがある場所ならどこでも使えます。[コース説明](/3.x/ja/gaido/teacher-guide/creating-your-course/course-description.md) のセクション、[ドキュメント](/3.x/ja/gaido/teacher-guide/adding-content/documents.md)、テストおよびアンケートの設問などです。

1. 通常どおり、デフォルト言語でコンテンツを記述（または貼り付け）します。
2. そのテキストを選択し、エディタのツールバーにある **Lang ISO** ボタンをクリックします。
3. メニューから、今書いた言語を選びます。一覧には、プラットフォームで有効なすべての言語が含まれます。必要な言語が一覧にない場合は、一番下の **Custom Chamilo ISO code...** を使い、コードを入力します（例: `en_US`、`fr_FR`、`es`）。
4. Chamilo は選択範囲をその言語タグで囲みます。次に、その直後に次の言語版を記述（または貼り付け）し、選択して別の言語で同じ操作を繰り返します。

カバーしたい言語の数だけ続けます。すべて同じフィールドに入ります。編集中は、すべての言語版が積み重なって見えます。誰かが実際にページを*表示*するときだけ、Chamilo は該当する 1 つの言語以外を非表示にします（後述）。

### AI 支援翻訳

管理者が AI テキストプロバイダを設定している場合、同じ **Lang ISO** メニューの先頭に **Add translation to...** も表示されます。既存のコンテンツを設定済みの AI モデルに送り、選んだ言語（プラットフォームが許可していれば、残りのすべての言語を一度に）で自動翻訳された新しいブロックを挿入します。自分で書く必要はありません。既存の言語ブロックはそのまま残り、すでに存在する言語は一覧から除外されるため、繰り返し使っても重複は生まれません。

AI 生成コンテンツと同様、結果は校正してください。自分が話せない言語でも堅実な初稿を素早く得る手段であり、レビューの代替ではありません。

## 学習者に表示される内容

各学習者には、ちょうど 1 つの言語版だけが表示されます。Chamilo はまず学習者自身のインターフェース言語を試し、どのブロックも一致しなければコース自身の言語、次にプラットフォームのデフォルト言語にフォールバックします。それらも一致しなければ、コンテンツを空白にするのではなく、最初に書いた言語を表示します。これはすべて自動で行われます。学習者が設定するものはなく、学習者ごとにあなたが設定するものもありません。

同じコース説明セクションを、インターフェース言語が異なる 3 人の学習者が見た例です。これら 3 つのスクリーンショットの間でコース側は何も変わっておらず、閲覧者自身の言語だけが異なります。

### 内部の仕組み

多言語フィールドの**ソースコード**表示（エディターツールバーの `<>` ボタン）を開くと、各言語版が次のように囲まれているのが分かります。

各版は `<div class="mce-translatehtml" lang="...">`（ブロック全体ではなく短いインライン句の場合は `<span>`）で囲まれています。この `lang` 属性を Chamilo が閲覧者の言語と照合し、何を表示するかを決めます。ページソースを調べたり、表示がおかしいコンテンツをトラブルシュートしたりするときは、このクラス名を覚えておくと役立ちます。探すマーカーは **`mce-translatehtml`** です。

これによって、プラットフォーム設定で `translate_html` を無効にしても、すでに書かれた内容が壊れない理由も説明できます。この設定が制御するのは、エディターに**Lang ISO**の*作成用*ボタンを出すかどうかだけです。上記の*表示側*のフィルタリングは無条件に実行されるため、管理者がその後作成用ボタンをオフにしたプラットフォームでも、以前に書いた多言語コンテンツはすべての閲覧者に対して正しくフィルタされ続けます。

## タイトルはこの仕組みでは動きません

コースのタイトル、ドキュメントのタイトル、テストのタイトルなどはリッチテキストではなくプレーンテキストのフィールドなので、上記のような `lang` 付きマークアップを持てません。下のコンテンツに何言語分書いていても、誰が見ても単一の中立な値のままです。

唯一の例外は、管理者が作業中の特定のタイトルフィールドについて**タイトルを HTML として保存**（`save_titles_as_html`。同じく **管理 > 設定 > エディター**）を有効にしている場合です。そのフィールドは本物の HTML フィールドになり、上記と同じ **Lang ISO** の手法を適用できます。これはあまり一般的ではなく、主にテスト問題で使われます。プラットフォーム上のほとんどのタイトルはプレーンテキストのままです。

## ヒント

* **ソース言語を先頭に置く** — フィールドではプラットフォームで最もよく使う言語を最初に置きます。後で稀な言語のタグ付けを忘れても、最も自然なフォールバックになります。
* **言語ブロックを入れ子にしない** — 各版は別々の連続したブロックとして書いてください。一方を他方の中に包むことはサポートされておらず、新しいマーカーを挿入するとエディターが入れ子のマーカーを積極的に解除します。
* **ある言語でセクションが空に見える**場合は、通常その言語（または展開されたコース／プラットフォーム既定のフォールバック）向けにブロックが一度もタグ付けされていないことを意味します。実際に存在する言語はソースコード表示で確認してください。
