Tip

このドキュメントはAIによって翻訳されました。不正確な情報については、英語版をご参照ください

I18n (国際化)

NocoBaseのプラグインでは、フロントエンドとバックエンドの両方で多言語国際化 (i18n) をサポートしています。統一された仕組みを通じて、プラグイン内で多言語コンテンツを簡単に実装できます。

多言語ファイル管理

プラグインの多言語ファイルは、src/locale ディレクトリに一元的に保存されます。言語ファイル名で命名することをお勧めします。例えば:

|- /plugin-hello
  |- /src
    |- /locale
      |- en-US.json   # 英語
      |- zh-CN.json   # 中国語

各言語ファイルは、その言語のすべての翻訳エントリを含むJSONオブジェクトをエクスポートします。例えば:

// zh-CN.json
{
  "Hello": "你好",
  "World": "世界",
  "Enter your name": "请输入你的名字",
  "Your name is {{name}}": "你的名字是 {{name}}"
}
// en-US.json
{
  "Hello": "Hello",
  "World": "World",
  "Enter your name": "Enter your name",
  "Your name is {{name}}": "Your name is {{name}}"
}

初めて言語ファイルを追加する場合、有効にするにはアプリケーションを再起動する必要があります。翻訳エントリが有効になっているかは、APIを通じて検証できます。 http://localhost:13000/api/app:getLang?locale=zh-CN

i18n 関連API

ctx.i18n

ctx.t(text, options)

plugin.t()

useT()

tExpr(text)

useTranslation(ns)

withTranslation(ns)