ノードが適切なモジュールとしてパッケージングされている場合は、 エディタとランタイムに翻訳されたコンテンツを提供するためにメッセージカタログを含めることができます。
モジュールのpackage.json
で指定されたノードについて、
メッセージカタログとヘルプファイルのセットをノードの.js
ファイルと一緒に含ませることが出来ます。
ノードが次のように指定されているとします:
"name": "my-node-module",
"node-red": {
"myNode": "myNode/my-node.js"
}
次のようなメッセージカタログを用意できます:
myNode/locales/__language__/my-node.json
myNode/locales/__language__/my-node.html
locales
ディレクトリはノードの.js
ファイルと同じディレクトリ内に存在しなければなりません。
パスの__language__
部分は、対応するファイルが提供する言語を指定します。
デフォルトでは、Node-REDはen-US
を使用します。
メッセージカタログは、 ノードがエディタまたはランタイムのログに表示するテキストを含むJSONファイルです。
例:
{
"myNode" : {
"message1": "This is my first message",
"message2": "This is my second message"
}
}
カタログはノード固有の名前空間の下にロードされます。
上記で定義されたノードについて、このカタログはmy-node-module/myNode
という名前空間で利用できます。
コアノードはnode-red
名前空間を使用します。
ヘルプファイルは、 エディタの情報サイドバータブに表示されるノードの翻訳されたヘルプテキストを提供します。
ランタイムとエディタの両方で、ノードがカタログからメッセージを参照するための機能が提供されています。 これらはノード固有の名前空間に事前にスコープされているため、 メッセージ識別子に名前空間を含める必要はありません。
ノードのランタイム部分はRED._()
関数を使用してメッセージにアクセスすることができます。
例:
ノードがステータスメッセージをエディタに送信すると、
ステータスのtext
をメッセージ識別子として設定する必要があります。
コアnode-redカタログには、よく使用されるステータスメッセージが多くあります。 これらは、指定されたメッセージにこの名前空間を含めることによって使用できるようになります。
ノードテンプレートで提供されるHTML要素は、data-i18n
属性を指定してメッセージ指定情報を使用するように指定できます。
例:
デフォルトでは、要素のテキスト内容は指定されたメッセージに置き換えられます。
要素の属性を設定することもできます。
例えば<input>
のplaceholder
:
これらを組み合わせて複数の置換を指定することも可能です。 例えば、title属性と表示されるテキストの両方を設定するには:
HTML要素のdata-i18n
属性と同様に、
すべてのノード定義関数(例えばoneditprepare
)はthis._()
を使ってメッセージを取り出すことが出来ます。
Node-RED: Low-code programming for event-driven applications.
Copyright OpenJS Foundation and Node-RED contributors. All rights reserved. The OpenJS Foundation has registered trademarks and uses trademarks. For a list of trademarks of the OpenJS Foundation, please see our Trademark Policy and Trademark List. Trademarks and logos not indicated on the list of OpenJS Foundation trademarks are trademarks™ or registered® trademarks of their respective holders. Use of them does not imply any affiliation with or endorsement by them.
The OpenJS Foundation | Terms of Use | Privacy Policy | OpenJS Foundation Bylaws | Trademark Policy | Trademark List | Cookie Policy