AI翻訳を設定した後、投稿は自動的に翻訳されましたが、投稿の上部と右側に言語切り替えボタンが表示されません

皆さん、こんにちは。Discourse を構築し、https://meta.discourse.org/t/content-localization-manual-and-automatic-with-discourse-ai/370969 のガイドに従って自動翻訳を設定しました。

バックエンドの翻訳進捗状況から、投稿コンテンツが翻訳されたことがわかります。
image

しかし、投稿の上部または右側に言語切り替えアイコンが表示されず、翻訳結果を閲覧できません。

画像にある中国語の投稿は、英語インターフェースでは翻訳されたコンテンツが表示されず、翻訳ボタンもありません。

インターフェース右上にある言語選択ボタンは表示されますが、インターフェース言語のみ調整できます。

設定の調整方法や問題の特定方法について、ご教示いただけますでしょうか。

サイト設定の「コンテンツのローカライズ言語スイッチャー」で有効にできます。

「いいね!」 1

返信ありがとうございます。alllに設定しましたが、効果がないようです。

image

おそらく私がはっきりと説明していなかったのですが、サイトの右上にある言語切り替えボタンは表示できますが、投稿の右側と上部、およびメニューには言語ラベルがありません。

Screenshot 2025-11-17 at 12.24.07

これのことですか?

image

これは、投稿の言語がユーザーの選択した言語と異なる場合にのみ表示されます。

はい、上部と右側の両方に表示されません。私のインターフェースは英語(右側の日付からわかります)に設定されており、投稿は中国語です。

SiteSetting.ai_translation_verbose_logs = true をオンにしました。

関連するログは以下のとおりです。

Message (4 copies reported)

DiscourseAi::Translation: Detected 2 topic locales

Backtrace

/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-8.0.4/lib/active_support/broadcast_logger.rb:218:in block in dispatch' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-8.0.4/lib/active_support/broadcast_logger.rb:217:in map’
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-8.0.4/lib/active_support/broadcast_logger.rb:217:in dispatch' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-8.0.4/lib/active_support/broadcast_logger.rb:129:in warn’
/var/www/discourse/plugins/discourse-ai/lib/translation/verbose_logger.rb:8:in log' /var/www/discourse/plugins/discourse-ai/app/jobs/scheduled/topics_locale_detection_backfill.rb:45:in execute’
/var/www/discourse/app/jobs/base.rb:318:in block (2 levels) in perform' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rails_multisite-7.0.0/lib/rails_multisite/connection_management/null_instance.rb:49:in with_connection’
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rails_multisite-7.0.0/lib/rails_multisite/connection_management.rb:17:in with_connection' /var/www/discourse/app/jobs/base.rb:305:in block in perform’
/var/www/discourse/app/jobs/base.rb:301:in each' /var/www/discourse/app/jobs/base.rb:301:in perform’
/var/www/discourse/app/jobs/base.rb:381:in perform' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_scheduler-0.18.0/lib/mini_scheduler/manager.rb:137:in process_queue’
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_scheduler-0.18.0/lib/mini_scheduler/manager.rb:77:in worker_loop' /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_scheduler-0.18.0/lib/mini_scheduler/manager.rb:63:in block (2 levels) in ensure_worker_threads’

これと関係があるかどうか分かりません。

この投稿を編集して、投稿のロケールが検出されたかどうかを確認してもらえますか?

IMG_8292

理想的には zh_CN と表示されるはずです。

投稿の自動ロケール検出には時間がかかり、投稿の言語を判断するために必要です。コンポーザーで自分で設定することもでき、その場合、値が設定されていれば自動検出はスキップされます。

image
言語が表示されておらず、言語の自動検出に問題があるようです。引き続き調査します。ありがとうございます。

「いいね!」 1

それ自体に問題があるとは思いません。ジョブがすべての投稿を処理するには時間がかかります。設定でバックフィルレートを増やすと、物事がより速く進むはずです。

rate を調整した後、新しいブラウザでテストしたところ、正しく表示されました。元のブラウザでは、管理アカウントからログアウトし、Cookie をクリアすることで多言語表示が可能になりました。ありがとうございました。

「いいね!」 1