このドキュメントはAIによって翻訳されました。不正確な情報については、英語版をご参照ください
NocoBase のプラグインでは、フロントエンドとバックエンドの両方で多言語対応 (i18n) をサポートしています。統一された仕組みにより、プラグイン内で多言語コンテンツを簡単に実装できます。
プラグインの多言語ファイルは、すべて src/locale ディレクトリに保存されます。ファイル名は言語ごとに命名することをおすすめします。例えば、
各言語ファイルは、その言語のすべての翻訳エントリを含む JSON オブジェクトをエクスポートします。例えば、
初めて言語ファイルを追加した場合は、変更を反映させるためにアプリケーションを再起動する必要があります。翻訳エントリが有効になっているかは、以下のAPIで確認できます。 http://localhost:13000/api/app:getLang?locale=zh-CN
app.i18n はグローバルな i18n インスタンスであり、CLI やプラグインのグローバルなシナリオに適しています。inquirer と組み合わせることで、コマンドラインでの対話を実現できます。
app.i18n.t(text, options)はテキストの翻訳に使用され、テンプレート変数もサポートしています。
各リクエストの ctx.i18n はグローバル i18n インスタンスのクローンであり、クライアントの言語に基づいて多言語情報を個別に返します。
クライアント言語の設定
ミドルウェアでの使用
http://localhost:13000/api/test-i18n?locale=zh-CN にアクセスすると、你好 が返されます。
プラグイン内部では、plugin.t(key, options) を直接使用して翻訳を取得できます。
plugin.t(text)はctx.t(text, { ns })と同等です。