Bcat
(Bcat)
1
我已创建 Topic Share,但想使用默认的 js.share.facebook 示例,但根据这篇文章,我的写法有误,导致无法显示。
能否展示如何正确显示,而不是为主题添加新词语?
我尝试过:I18n.t(themePrefix("my_translation_key"))
Johani
(Joe)
2
在组件顶部添加以下内容
const I18n = require("I18n").default;
之后,在需要使用默认 Discourse 文本时,可以使用如下方式:
I18n.t("TRANSLATION_KEY")
例如,将
h('span', 'Chia sẻ qua Facebook')
改为
h("span", I18n.t("share.facebook"))
没有这一行时,i18n 可以正常工作。否则会出现错误:“找不到模块 I18n”。
Johani
(Joe)
5
这取决于您的 Discourse 版本。在旧版 Discourse 中,I18n 是全局定义的,因此无需导入。如果您的站点使用的是像 OP 中提到的较新提交,那么您需要导入或 require 它。
Bcat
(Bcat)
6
是自动的,还是你手动修改了 352 个文件?
@wyudong 我用了 h("span", I18n.t("share.facebook"))。不需要添加 const I18n = require ("I18n"). default;。
Bcat
(Bcat)
8
我想知道是否需要逐个修改文件然后提交,还是可以实现自动化(一次性修改多个文件)。这个问题并不重要,如果只能靠个人经验,我可能需要逐个修改文件,那得花上一整天
我对 GIT 不太熟悉。
Johani
(Joe)
9
感谢澄清 
是的,手动更新 300 多个文件会非常耗时。这些文件是由 Mark 编写的脚本更新的。