このトピックでは、コンテンツローカリゼーション機能と、それらを有効にする方法について詳しく説明します。機能は以下の 2 つの部分に分かれています:Discourse にデフォルトで用意されている機能と、自動翻訳のための Discourse AI です。
関連セクションに素早くアクセスするには、wiki の見出しを使用してください ![]()
コミュニティのコンテンツをローカライズする
更新されたバージョンの Discourse(3.5.0.beta7-dev)では、以下の場所で設定可能な複数のローカリゼーション機能を利用できます:
<your-site-url>/admin/site_settings/category/content_localization
ユーザー情報の取得
まず、コミュニティの状況について情報を収集することが重要です。以下のデータエクスプローラークエリを使用すると、/my/preferences/interface でロケールを設定したユーザー数がどれくらいか把握できます。
SELECT locale, count(*) as count
FROM users
WHERE (locale IS NOT null AND locale <> '')
GROUP BY locale
ORDER BY count DESC
コミュニティがサポートするロケールの設定
上記の情報を基に、コミュニティがどのロケールをサポートすべきかについてより明確な判断が可能になります。
<your-site-url>/admin/site_settings/category/content_localization で、サポートするロケールを選択できます。
Content localization enabled- ユーザーが作成した元のコンテンツをローカライズされたコンテンツに置き換える機能を有効にします。自動モードと手動モードの詳細については以下をお読みください。Content localization supported locales- サイトがサポートする言語のリストContent localization crawler param- 後述のクローラーセクションで説明しますContent localization language switcher- 直後に説明します
続く設定 Content localization language switcher を有効にすると、サポートするロケールの一覧に選択した言語を表示することで、ログインしていないユーザーにもコミュニティへのアクセスを容易にできます:
ローカライズされたコンテンツの表示
ローカライズされたコンテンツを閲覧するユーザー(すべてのサイト訪問者)は、投稿の日の隣にあるインジケーターにカーソルを合わせると、投稿の元の言語を確認できます。このインジケーターは、投稿がユーザーの言語でない場合のみ表示されます。
ユーザーが元のコンテンツのみを表示したい場合は、トピックのタイムラインの上にあるトグルを使用して、サイト全体のローカライゼーションを無効にできます。
Discourse AI による自動翻訳 
Discourse AI はローカリゼーション機能に不可欠なビタミンのようなもので、手動翻訳の必要性をなくします。
管理者として、新しい AI 機能セクションの 翻訳 に移動してください。
重要な設定と推奨事項について説明します:
AI translation backfill hourly rate- この設定のデフォルト値は50です。レートが 50 の場合、サイトは設定したContent localization supported localesのロケールに対して、1 時間に 50 件の投稿、50 件のトピック、50 件のカテゴリを翻訳します。開始時はこの値を低く抑えてください。AI translation target categories- デフォルトではカテゴリが選択されていません。選択されたカテゴリ内のコンテンツのみが翻訳されます。サブカテゴリは別途追加する必要があります。カテゴリ内のトピックの翻訳を無効にする場合は空のままにしてください。AI translation personal messages- デフォルトはnoneです。どの個人メッセージを翻訳するかを制御します。noneは PM の翻訳を無効にします。groupはグループ PM のみを翻訳します。allはすべての PM を翻訳します。AI translation include bot content- デフォルトはfalseです。有効にすると、ボットユーザー(ユーザー ID < 0)からの投稿も翻訳されます。デフォルトでは、ボットのコンテンツは翻訳対象から除外されています。AI translation max post length- デフォルトは10000です。これはセーフガードであり、特定の長さを超える投稿の翻訳を防ぎます。AI translation backfill max age days- デフォルトは5です。つまり、5 日以上前のトピックや投稿は翻訳されません。すべてのトピックや投稿を翻訳するには、この値を大きく設定してください。AI translation post raw translator agent(および他のエージェント)- よりフォーマルなコミュニティでは、管理者が独自のエージェントを作成することを選ぶ場合があります。これにより、好みの言語や語彙に合わせたプロンプトを設定できます。
適切なエージェントの構成方法や、各機能に合わせたプロンプトの微調整については、AI bot - Agents を参照してください。
翻訳の進捗状況
自動翻訳の進捗状況については、/admin/plugins/discourse-ai/ai-translations の「翻訳の進捗状況」チャートで確認できます。
このチャートが表示される条件は以下の通りです:
- すべての翻訳エージェントに有効な LLM が設定されている
discourse ai enabled
ai translation enabled
content localization supported localesが設定されているai translation backfill max age daysが 0 より大きいai translation backfill hourly rateが 0 より大きい
手動ローカリゼーション
ローカリゼーションは Discourse のコア機能であるため、Discourse AI を使用した自動翻訳が利用できない場合でも、手動でローカリゼーションを入力・編集する機能を提供しています。
デフォルトでは、管理者とモデレーターがローカリゼーションの編集を行えるように設定されています。
現在、投稿コンテンツ、トピックタイトル、カテゴリ名、カテゴリ説明、タグのローカリゼーションが可能です。以下のセクションでそれらの仕組みについて説明します。
カテゴリのローカリゼーション
ローカライズされたカテゴリは、カテゴリ名と説明の両方がローカライズされた以下の場所で表示されます:
管理者として、通常通りカテゴリ設定にアクセスし、左側の新しい「ローカリゼーション」ナビゲーション項目を見つけることができます。
トピックと投稿のローカリゼーション
上記の カテゴリのローカリゼーション のスクリーンショットから、トピックタイトルと抜粋がローカライズされていることに気づいたかもしれません。
いくつかの前提条件があります:
- ユーザーが
content localization allowed groupsに含まれていることを確認してください Content localization enabledが有効になっている場合、post menuとpost menu hidden itemsに自動的にaddTranslationボタンが追加されます。これにより、content localization allowed groupsに含まれるユーザーに対して投稿メニューに
が表示されます。Content localization allow author localizationはデフォルトで有効になっており、投稿者は上記と同じ投稿メニューを使用して自身のコンテンツをローカライズできます。
再び申し上げますが、ローカライズ可能な言語のリストは上記の Content localization supported locales 設定にあります。
ローカライズされた投稿の編集
ユーザーがローカライズされた投稿を表示している場合、投稿を編集しようとすると、どのバージョンを編集するかを尋ねるダイアログが表示されます:
決定後、適切なコンポーザーが表示されます。
特定のロケールの投稿翻訳の削除
上記の post menu 設定に関する手順を正しく実行した場合、Content localization allowed groups に含まれている限り、以下の操作が可能です:
クローラー
Content localization supported locales で設定したさまざまな言語でサイトを表示するよう、クローラーに許可できます。このサイト設定は「コンテンツローカリゼーション」セクションの Content localization crawler param にあります:
その結果、クローラーは以下の内容を確認できます。各サポート言語には、トピックの head に対応する hreflang が含まれます:
よくある質問
設定は完了したが、自動翻訳がまだ機能しない
以下の設定を確認してください:
Content localization supported localesに少なくとも 1 つの言語が設定されているContent localization enabledが
である
Allow user localeが
である(デフォルトで有効)Set locale from cookieが
である
Ai translation enabledが
であるAi translation backfill max age daysが 0 でないAi translation backfill hourly rateが 12 より大きい- 各翻訳エージェントに動作する LLM が設定されている必要がある
それでも解決しない場合は、SiteSetting.ai_translation_verbose_logs を有効にしてください。
すべての投稿が翻訳されていますか?
AI translation backfill limit to public content が
の場合、公開カテゴリのすべての投稿が翻訳されます。デフォルトでは、AI translation include bot content が有効でない限り、ボットの投稿(ユーザー ID < 0)は除外されます。
自動翻訳は保存されますか、それともトピックを見るたびに LLM に送信されますか?
翻訳は保存されます。各投稿は言語あたり 1 回のみ LLM に送信され、翻訳結果は再利用されます。
私のフォーラムが英語と日本語(Content localization supported locales を介して)をサポートしている場合、誰かがスペイン語で投稿した場合、その投稿は翻訳されますか?
はい。書かれている言語に関係なく、すべてのトピックと投稿が英語と日本語に翻訳されます。
元の投稿が編集された場合、再翻訳されますか?
はい。1 日最大 2 回まで再翻訳されます。投稿が編集されると、5 分または SiteSetting.editing_grace_period のいずれか長い時間遅延した後、再翻訳が送信されます(忍者編集への対応のため)。Content localization allowed groups に含まれる権限ユーザーは、投稿を即座に再翻訳するオプションを持っています。
エージェントや LLM を変更すると、翻訳は削除されますか?
いいえ。明示的に投稿メニュー項目または翻訳コンポーザーを使用して削除しない限り、翻訳は設定変更後も通常維持されます。





















