このガイドでは、多言語コミュニティ向けに Discourse フォーラムを構成するさまざまなアプローチ、それぞれの長所と短所について解説します。
必要なユーザーレベル:管理者
Discourse では、多言語コミュニティ向けにサイトを構成するためのいくつかの方法を提供しています。このガイドでは、最も一般的なアプローチとそのメリット・デメリットを探ります。
このトピックはもはや多言語コミュニティの構成に関する推奨アプローチのソースではありません。現在、Discourse コアに組み込まれた コンテンツローカライゼーション 機能の使用(オプションで Discourse AI プラグインによる自動 AI 翻訳も可能)が推奨されています。詳細については、Content Localization - Manual and Automatic with Discourse AI をご覧ください。
カテゴリを使用して言語を分離する
「その他の言語」カテゴリとサブカテゴリ
一つの手法として、「その他の言語」というメインカテゴリを作成し、特定の言語ごとにサブカテゴリを設ける方法があります。
実装方法:
- 「その他の言語」という新しいカテゴリを作成します。
- 対応する各言語ごとにサブカテゴリを追加します。
- ユーザーが適切な言語のサブカテゴリに投稿するよう促します。
メリット:
- 言語間の明確な分離
- 各言語内で追加の整理を可能にするカテゴリ制限付きタグの使用
デメリット:
- 多言語ユーザーは類似の内容を持つ複数のカテゴリを追跡する必要がある
- 言語に基づいたコンテンツのサイロ化を招く可能性がある
各言語ごとに独立したトップレベルカテゴリを作成する
もう一つの手法として、対応する各言語ごとに独立したトップレベルカテゴリを作成する方法があります。
実装方法:
- 対応する各言語ごとに新しいカテゴリを作成します。
- Custom Header Links のようなテーマコンポーネントを使用して、ヘッダーに言語切り替えリンクを追加します。
メリット:
- 言語セクション間の明確な区別
- 単一言語しか話さないユーザーにとって容易なナビゲーション
デメリット:
- コミュニティ体験が分断される可能性がある
- 多言語ユーザーが言語を超えた議論を追うのが困難
- 言語に基づいたコンテンツのサイロ化を招く可能性がある
タグを使用して言語を識別する
フォーラム全体の言語タグ
このアプローチでは、対応する各言語のタグを作成し、ユーザーが投稿時にそれらのタグを付けるよう促す方法です。
実装方法:
- 対応する各言語のタグを作成します(例:#english、#french、#spanish)。
- ユーザーがトピック作成時に適切な言語タグを追加するよう促します。
- 必要に応じて、視覚的な区別のためにタグ名に絵文字を使用します。
メリット:
- 独立したカテゴリを必要としない
- 多言語ユーザーがすべてのコンテンツを簡単にフォローできる
- 複数の言語が関わるトピックに対して柔軟性がある
デメリット:
- 正確なタグ付けにはユーザーの協力が不可欠
- カテゴリベースのナビゲーションに慣れたユーザーには直感的でない場合がある
独立した Discourse インスタンスを使用する
明確に分離された言語グループを持つコミュニティの場合、各言語ごとに独立した Discourse インスタンスを使用することも検討できます。
実装方法:
- 各言語ごとに独立した Discourse インスタンスを設定します。
- 各インスタンスにサブドメインまたは独立したドメインを使用します(例:en.example.com、fr.example.com)。
- Custom Header Links のようなテーマコンポーネントを使用して、ヘッダーまたはフッター間でインスタンスをリンクします。
メリット:
- 言語によるコンテンツとユーザーの完全な分離
- 各インスタンスを特定の言語コミュニティに合わせてカスタマイズ可能
デメリット:
- 複数のインスタンスの管理が複雑
- 多言語ユーザーが言語コミュニティ間で参加するのが困難
- 重複した議論や分断されたコミュニティのリスク
その他の考慮事項
カテゴリとタグのローカライゼーション
Discourse は、組み込みのコンテンツローカライゼーション機能を通じて、カテゴリ名、カテゴリ説明、タグ名のローカライゼーションをサポートしています。サイト設定で content localization enabled を有効にし、content localization supported locales を設定してください。承認されたグループが手動翻訳を提供することも、Discourse AI プラグインを通じて自動翻訳を設定することも可能です。
ユーザーの言語設定
Discourse には、allow user locale、set locale from accept language header、set locale from cookie、set locale from param などの組み込みのロケール設定があります。これにより、ユーザーはインターフェースの優先言語を設定できます。コンテンツローカライゼーションが有効になっている場合、ユーザーは自分のロケール設定に基づいてローカライズされたコンテンツを自動的に表示します。
言語スイッチャー
content localization language switcher 設定を使用すると、ヘッダーに言語スイッチャーを表示できます。これにより、訪問者(匿名ユーザーを含む)が対応する言語間を切り替えることができます。
検索機能
ユーザーがすべての言語で検索できるか、または特定の言語で結果をフィルタリングできることを確認してください。

