好的,我将分享 Discourse Helper 的回复,供有兴趣且有能力的人参考 ![]()
我认为改进 UI/UX(现代化我们的论坛)至关重要,例如编辑器、AI 以及我们最近看到的一些改进。
使用的英语非常中性/平淡,这很有意义,但(就我而言)默认的西班牙语翻译并不好。
编辑 Discourse UI 中的字符串是可以的,但非常耗时,而我只想委托这项任务。
我明白无法将所有字符串下载为 JSON 文件,但可以下载编辑后的文本吗?
下载所有语言文本并编辑文件将是在 1/5 的时间内获得所需结果的变通方法。
高级插件结构
-
创建插件骨架
-
使用:
rake plugin:create[custom-site-texts-group]
-
-
后端:扩展权限
-
覆盖相关控制器,例如
Admin::SiteTextController,以允许您的自定义组的成员访问文本编辑端点。 -
您可以使用类似以下内容的方法:
add_to_class(:admin_constraint, :matches?) do |request| user = ... # 从请求加载当前用户 return true if user.admin? # 检查您的组成员资格 group_id = Group.find_by(name: 'yourgroupname')&.id return user.group_ids.include?(group_id) end这只是示意性的——您需要找到正确的权限检查,并确保它仅限于本地化编辑,而不是完全的管理员权限。
-
-
前端:向组成员公开 UI
-
使用 PluginAPI 为您的组成员注入 UI,在管理员拥有“自定义站点文本”的地方。
-
对其他用户隐藏此 UI。
-
-
安全
- 在任何覆盖的控制器操作和路由中重新检查权限。切勿信任客户端检查。