全局替换翻译

:information_source: 摘要 此插件允许您全局替换翻译中的某些单词
:hammer_and_wrench: 存储库链接 https://github.com/Lhcfl/replace-translations-global
:open_book: 安装指南 如何在 Discourse 中安装插件

功能

字面上地将一个单词的所有出现替换为另一个单词

例如,将“Topic”替换为“Nya”:

配置

我相信它的设置是不言自明的 :slightly_smiling_face:

请注意,翻译会被缓存,更改它们需要时间。您可以执行此操作来强制更新:

sudo ./launcher enter app
rm -rf tmp
14 个赞

这个可以平替官方的自定义文本吗?

这是我目前遇到的问题,我无法批量修改那些键值!

或者说 @Lhc_fl 你有更好的方法?

这个插件就是用来批量替换翻译的啊。只不过由于缓存原因,你替换完可能还得要rebuild才能生效

我的意思是没有discourse官方提供的批量修改方法吗?
例如导出yaml文件,通过vscode来替换?

没有这样的方法,只能一个个改

那您的工具确实是非常棒的!

每一次更改都需要./launcher rebuild app
手动重建吗?
sudo ./launcher enter app
rm -rf tmp
我没有发现作用

先试试(删了tmp后) ./launcher restart app?

我是在开发环境下删的tmp,可能这里自动应用了

不行就rebuild。可能语言文件是预先编译好的,这个插件原理是干预了读语言yml的函数,它只会在第一次加载的时候跑一遍

1 个赞

提醒一下,包含英文翻译能让其他人更容易理解,:pray:

4 个赞

刚刚尝试了一下,会oops,还是重建吧比较稳定

如果使用此项来替换“category”一词,请注意,此插件还会替换模板中的单词,例如“{category}”,从而导致 UI 错误。为避免这种情况,我在插件设置中使用了正则表达式 en:(?<!\{)category(?!=\})=\chapter,但也许应该调整插件以仅针对面向用户的​​内容。

3 个赞

@Lhc_fl 有这方面的计划吗?您的插件似乎正是我需要用来为我的法语社区修复一些术语的,但我担心会像上面 tomtjes 的帖子中所描述的那样破坏某些东西。

为什么替换不成功

(这是 Globally replace translations 插件)

也许你需要使用 => 而不是单独的 => 符号?你截图中显示的箭头看起来不正确。

符号使用确实是没有问题的,是单独的=和>符号,只是显示的问题导致看着是连在一起了

1 个赞

明白了,无论如何,这应该移到该插件的主题下,因为它不是#官方内容。

好的 明白,谢谢告知。(为什么要凑20个字符才可以回复)

如果我的理解正确,该插件使用 JsLocaleHelper 来替换前端使用的文本(即 client.*.yml 的内容)。而 server.*.yml(例如包含站点设置描述的文本)则保持不变。

azy videos”只是您想使用该插件的一个示例吗?该插件旨在替换大量文本中的特定术语。由于这段文本在论坛中仅出现一次,您可以直接编辑该文本,而无需使用插件。有关如何操作的指南如下:Customize text in Discourse

2 个赞

我想修改这些英文,但是搜索不到


1 个赞

这些是设置项的名称。我已在 有没有比较好的中文插件 - #2 by Moin 中解释了它们为何不可翻译。
您无法在管理界面中自定义那些不可翻译的文本。

顺便提一下,如果我在该插件是否也能修改后端文本这一点上有所疏忽,我仍然相当确定它仅会替换可翻译的文本,而不会更改界面中的其他文本。它的作用是在文本中替换词语,而不是让不可翻译的文本变得可翻译。

2 个赞