问题
Discourse 的内容本地化功能(包括手动和通过 Discourse AI 进行的自动本地化)在本地化主题标题、帖子、分类名称和分类描述方面表现非常出色。然而,分类的主题模板(categories.topic_template)却无法进行本地化。在多语言社区中,编辑器预填内容始终显示为网站的默认语言——对所有人都一样。
当前行为
CategoryLocalization按语言环境存储name和description(Localizableconcern 为 Topic/Post/Category 提供“多语言环境名称/描述支持”)。- 无论成员的界面语言环境如何,编辑器始终使用未本地化的
topic_template。
建议的解决方案
- 将
topic_template添加到CategoryLocalization中(包括管理员本地化编辑器 UI)。 - 当成员在某个分类中打开编辑器时,使用与其界面语言环境匹配的模板;如果不存在本地化版本,则回退到该分类的默认模板。
- 较新的按分类设置的表单模板也存在同样的问题:它们可以在不同分类之间有所不同,但在单个分类内部没有语言环境感知的变体——多语言配置不得不将社区拆分为按语言划分的独立分类来规避此问题。
使用场景
我们运营一个双语社区(默认语言为德语,通过自动 AI 翻译支持英语)。某些分类提供了包含检查清单项目和用于内置日期选择器的 [event] 块的结构化编辑器模板。目前,英语用户只能看到德语模板。我们的变通方法是使用单一的双语模板(每个标签在同一行上重复为“德语 / 英语”),这虽然可行,但对于编辑者和成员来说都很笨拙,并且使编辑器内容翻倍。
相关
- #32464(本地化分类路由)——相同的本地化范围,分类。