在本主题中,我们将带您了解内容本地化功能以及如何启用它们。这些功能分为两部分: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
用户来源地
如果您启用了“浏览器页面浏览事件”(站点设置),则更好的解决方案是使用此查询来告知您用户来自哪个国家:
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(AI 翻译回填每小时速率) - 此设置默认为50- 您的站点每小时将翻译 50 篇帖子、50 个主题、50 个分类、50 个标签,翻译为您在Content localization supported locales(内容本地化支持的语言环境)中设置的语言环境。刚开始时请保持此数字较低。AI translation category scope(AI 翻译分类范围) - 默认为Public categories(公开分类)。您可以将其更改为所有分类或特定选择。AI translation personal messages(AI 翻译私人消息)和AI translation include bot content(AI 翻译包含机器人内容)不言自明。AI translation backfill start date(AI 翻译回填开始日期) - 此值默认为空。如果您“今天”启用 AI 翻译功能,日期将自动设置为“今天 - 5 天”AI translation post raw translator agent(AI 翻译帖子原始翻译代理)(和其他代理) - 在更正式的社区中,管理员可以选择创建自己的代理。这允许您设置更精细调整到您偏好的语言或词汇的提示。
您可以参考 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(内容本地化爬虫参数):
结果将是爬虫可以看到以下内容,其中每个支持的语言在每个主题的 head 中都有相应的 hreflang:
常见问题
我已经设置好了,但自动翻译仍然无法为我工作
确认您是否已设置这些
Content localization supported locales(内容本地化支持的语言环境)至少有一种语言Content localization enabled(启用内容本地化)是
Allow user locale(允许用户语言环境)是
(默认启用)Set locale from cookie(从 cookie 设置语言环境)是
Ai translation enabled(启用 AI 翻译)是
- 您必须为每个翻译代理设置一个有效的 LLM
如果其他方法都失败,您可以启用 SiteSetting.ai_translation_verbose_logs(AI 翻译详细日志)。
自动翻译是否已保存,还是每次有人查看主题时都发送给 LLM?
翻译已保存,每篇帖子每种语言仅发送一次,翻译会被重用。
如果我的论坛支持英语和日语(通过 Content localization supported locales),并且有人用西班牙语写作,他们的帖子会被翻译吗?
是的。无论书面语言如何,所有主题和帖子都将翻译成英语和日语。
如果原始帖子被编辑,它会重新翻译吗?
是的 – 每天最多 2 次。当帖子被编辑时,它会在 5 分钟或 SiteSetting.editing_grace_period(编辑宽限期)的较大值延迟后发送重新翻译,以考虑忍者编辑。Content localization allowed groups(允许内容本地化的组)中的授权用户可以选择立即发送帖子进行重新翻译。
如果我更改代理或 LLM,翻译会被删除吗?
不会,除非使用帖子菜单项或翻译编辑器显式删除,否则翻译通常会在设置更改后保留。


























