在本主题中,我们将向您介绍内容本地化功能以及如何启用它们。这些功能分为两部分:Discourse 默认提供的功能;以及用于自动翻译的 Discourse AI。
如需快速访问相关章节,请使用 wiki 标题 ![]()
本地化您社区的内容
Discourse 为您提供访问以下配置可用的多个本地化功能:
<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
您的用户来自哪里
如果您启用了 Browser pageview events enabled(站点设置),则更好的解决方案是此查询,它可以告诉您用户来自哪个国家:
SELECT
e.country_code AS country_code,
COUNT(*) AS pageviews
FROM browser_pageview_events e
WHERE e.country_code IS NOT NULL
AND e.country_code <> ''
GROUP BY e.country_code
ORDER BY pageviews DESC
设置
有了上述信息,您现在可以更好地了解您的社区应该支持哪些语言环境。
在 <your-site-url>/admin/site_settings/category/content_localization 中,开始进行设置。
Content localization enabled- 开启将原始用户书面内容替换为本地化内容的功能。继续阅读以了解自动(AI)和手动(人工)本地化模式。Content localization supported locales- 您的站点支持的语言列表Content localization crawler param- 在下文的爬虫部分介绍Content localization language switcher- 在下文介绍
语言切换器
启用后续设置 Content localization language switcher 还可以让未登录的用户更容易访问您的社区,通过显示您在支持的语言环境列表中选择的支持语言列表:
查看本地化内容
对于本地化内容的查看者(所有站点访问者),他们可以将光标悬停在帖子日期旁边的指示器上,以查看帖子的原始语言。仅当帖子不是他们的语言时,此指示器才会显示。他们只需点击指示器即可看到原始帖子。
对于我们的多语言登录查看者,他们可以表示他们理解多种语言,因此这些语言中的内容将不会被翻译。
使用 Discourse AI 进行自动翻译 
Discourse AI 对于本地化功能至关重要,并消除了手动翻译的需要。
作为管理员,您需要前往 Discourse AI 中专门用于翻译的区域。该专用区域涵盖:
- 翻译进度
- AI 设置
- 应用语言设置
以下是一些重要设置和建议:
AI translation backfill hourly rate- 此设置默认为50- 您的站点每小时将翻译 50 篇帖子、50 个主题、50 个分类、50 个标签到您已在Content localization supported locales中设置的语言环境。刚开始时请保持此数值较低。AI translation category scope- 默认为Public categories。您可以将其更改为所有分类或特定选择。AI translation personal messages和AI translation include bot content不言自明。AI translation backfill start date- 此值默认为空。如果您“今天”启用 AI 翻译功能,日期将自动设置为“今天 - 5 天”AI translation post raw translator agent(和其他代理)- 在更正式的社区中,管理员可以选择创建自己的代理。这允许您设置一个更适合您偏好的语言或词汇的提示。
您可以参考 AI bot - Agents 了解如何为每个功能配置合适的代理并微调提示。
手动本地化
由于本地化是 Discourse 的核心功能,因此我们提供在 Discourse AI 自动翻译不可用时手动填写和编辑本地化的能力。
默认情况下,管理员和版主被设置为可以编辑本地化。
目前,我们有帖子内容、主题标题、分类名称、分类描述、标签名称、标签描述和侧边栏本地化。以下各节将向您展示它们的工作原理。
分类本地化
本地化分类在以下区域可见,分类名称和描述均被本地化:
作为管理员,您应该能够像往常一样访问分类设置,并在左侧找到新的“本地化”导航项。
主题和帖子本地化
从上述分类本地化的截图中,您可能已经注意到主题标题和摘要被本地化。
有一些先决条件设置
- 确保您的用户在
content localization allowed groups中 - 当开启
Content localization enabled时,addTranslation按钮会自动添加到post menu和post menu hidden items中。这使得
显示在 content localization allowed groups中用户的帖子菜单中。 Content localization allow author localization默认启用,并允许帖子作者使用上述相同的帖子菜单本地化他们自己的内容。
编辑本地化帖子
如果用户可能正在查看本地化帖子并希望编辑该帖子,将出现一个对话框询问他们希望编辑哪个版本:
决定后会出现相应的编辑器。
自定义侧边栏本地化
“对所有人可见”的侧边栏部分还显示额外的翻译控件:
爬虫
您可以允许爬虫以您在 Content localization supported locales 中配置的各种语言查看您的站点。该站点设置位于“内容本地化”部分中的 Content localization crawler param:
结果将是爬虫可以看到以下内容,其中每个支持的语言在每个主题的头部都有相应的 hreflang:
常见问题
我已经设置了,但自动翻译仍然无法正常工作
确认您是否已设置以下内容
Content localization supported locales至少有一种语言Content localization enabled为
Allow user locale为
(默认启用)Set locale from cookie为
Ai translation enabled为
- 您必须为每个翻译代理设置一个工作的 LLM
如果所有其他方法都失败,您可以启用 SiteSetting.ai_translation_verbose_logs。
自动翻译是否已保存,还是每次有人查看主题时都发送到 LLM?
翻译已保存,每个帖子每种语言仅发送一次,翻译会被重用。
如果我的论坛支持英语和日语(通过 Content localization supported locales),有人用西班牙语写,他们的帖子会被翻译吗?
是的。所有主题和帖子都将被翻译成英语和日语,无论书面语言如何。
如果原始帖子被编辑,它会重新翻译吗?
是的 – 每天最多 2 次。当帖子被编辑时,它会在 5 分钟或 SiteSetting.editing_grace_period 的较大值延迟后发送重新翻译,以应对忍者编辑。Content localization allowed groups 中的授权用户可以选择立即发送帖子进行重新翻译。
如果我更改代理或 LLM,翻译会被删除吗?
不会,翻译通常会在设置更改后保留,除非使用帖子菜单项或翻译编辑器显式删除。


























