テーマおよびテーマコンポーネントに site_texts 文字列を表示する方法は?

Tocic Share を作成しましたが、デフォルトの js.share.facebook の例を使用したいと考えています。しかし、この記事によると、書き方が間違っているため表示されません。
トピックに新しい単語を追加するのではなく、正しい表示方法を教えていただけますか?

試したコード:I18n.t(themePrefix("my_translation_key"))

コンポーネントの先頭に以下を追加してください

const I18n = require("I18n").default;

その後、デフォルトの Discourse テキストを使用する必要がある場合は、以下のように記述できます

I18n.t("TRANSLATION_KEY")

例えば、以下

h('span', 'Chia sẻ qua Facebook')

は以下のように変更されます

h("span", I18n.t("share.facebook"))

どうもありがとうございます。:smile:

この行がない場合、i18n は正常に動作します。この行があると、「モジュール I18n が見つかりません」というエラーが発生します。

それは Discourse のバージョンによって異なります。以前は I18n がグローバルに定義されていたため、古い Discourse バージョンではインポートする必要はありませんでした。

あなたのサイトが OP のような最新のコミットである場合は、I18n をインポートまたは require する必要があります。

自動ですか、それとも手動で352ファイルを変更しましたか? :roll_eyes:

@wyudong 私は h("span", I18n.t("share.facebook")) を使用しました。const I18n = require("I18n").default; を追加する必要はありません。

よく理解できませんでした。ここでの意味を詳しく教えていただけますか?

ファイルごとに一つずつ変更してコミットする必要があるのか、それとも自動的に(複数のファイルを一度に変更する)方法があるのか気になっています。
この質問は重要ではありません。個人的な知識で一つずつ変更すれば、一日中かかってしまうかもしれません:(
GIT はあまり経験がありません。

ありがとうございます!:+1:

そうですね、300 以上のファイルを手動で更新するのは非常に時間がかかります。これらのファイルは、マークが作成したスクリプトで更新されました。