配置好 ai 翻译后,帖子已经被自动翻译,但是在帖子顶部和右侧没有显示语言切换按钮

大家好,我刚刚搭建完 discourse,并按照 Content Localization - Manual and Automatic with Discourse AI 的指引设置了自动翻译。

现在从后台的翻译进度可以看到,帖子内容已经被翻译了。

但是在帖子的顶部或右侧没有出现语言切换图标,这导致无法浏览翻译结果。

如图中的中文帖子,在英文界面下无法看到翻译后的内容,也没有翻译按钮。

在界面右上角的语言选择按钮倒是出现了,但只能调整界面语言。

请问我应该如何调整配置或者定位问题?

您好,您可以前往网站设置中的“内容本地化语言切换器”来开启它。

1 个赞

感谢回复,我已经将其设置为 alll了,但它好像没有生效。

可能我前边没有说太清楚,站点右上角的语言切换按钮是可以显示的,但是帖子右侧和顶部以及菜单中都没有语言标签。

您是指这个吗?

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 个赞