syl
1
discourse-multilingual-post
一个 Discourse 插件,支持帖子内容的多语言版本。
本插件仅为概念验证:由于无法本地化主题标题,其实用性有限。
使用方法
在帖子中使用 [lang=xx] 代码块:
[lang=en]
Hello World!
[/lang]
[lang=fr]
Bonjour monde !
[/lang]
[lang=de]
Hallo Welt !
[/lang]
结果:
Hallo Welt !
国家代码必须为两位字母(不支持地区代码)。
工作原理
在渲染帖子时,插件会查找一个 [lang=xx] 代码块进行显示。一旦找到以下任一情况,它将停止查找:
- 为用户语言(由 Discourse 选择)设置的代码块
- 为Discourse 实例的默认语言设置的代码块
- 第一个代码块
仓库
https://github.com/sylque/discourse-multilingual-post
13 个赞
syl
2
Discourse 团队,有人知道如何本地化主题标题吗?
我想实现的功能如下:
- 定义语言顺序,例如 “en,fr,de”
- 允许用户这样编写主题标题:
Hello World#Bonjour monde#Hallo Welt
- 当 Discourse 显示主题标题时,修改它仅保留正确的语言
然而,我没有找到可以修改标题的客户端钩子。有什么建议吗?
6 个赞
Falco
(Falco)
3
您是否考虑过在 Rails 中处理标题?默认语言使用现有的语言,而额外的标题则是自定义的主题字段。然后,您修改序列化器,使有效载荷中发送所选语言的标题。
8 个赞
angus
(Angus McLeod)
4
做得好!
我附议这个观点。我认为标题处理放在服务器端是更好的方案。
我实际上正在开发一个多语言插件(即将完成),它支持以下内容的翻译:
- 标签
- 分类名称
- 分类描述
此外,还包含一个管理面板,用于管理语言和区域设置,以及用户特定的语言内容过滤器等其他功能。
或许我们可以在此领域携手合作。
14 个赞
jadenfreude
(Abdelrahman Elzein)
5
你好!我很喜欢这个插件,它非常简洁。我觉得如果它能支持装饰 Discourse 页面(如常见问题/指南、服务条款、隐私政策),将会更加实用,毕竟这些页面的标题本身就会被翻译。我曾尝试自行分叉并扩展它,但说实话,我是个绝对的新手。不过,我有一种感觉,它需要围绕 decorateWidget() 而不是 decorateCooked() 进行重写。
1 个赞
syl
6
为 Discourse 静态页面(如常见问题/指南、服务条款、隐私政策)添加装饰功能将是一个不错的特性。不过,我不确定 decorateWidget 是否能挂钩到静态页面。有人对此有任何提示吗?