From 61339face6e963403259c449a685fd46a0433d0f Mon Sep 17 00:00:00 2001 From: Kazuhito Yokoi Date: Mon, 26 Jun 2017 18:08:05 +0900 Subject: [PATCH] Add and improve Japanese translation file(editor.json, infotips.json and messages.json) (#1284) * Update Japanese translation(editor.json) * Add Japanese translation file(infotips.json) * Add Japanese translation file(messages.json) --- nodes/core/locales/ja/messages.json | 823 ++++++++++++++++++++++++++++ red/api/locales/ja/editor.json | 310 +++++++---- red/api/locales/ja/infotips.json | 23 + 3 files changed, 1052 insertions(+), 104 deletions(-) create mode 100644 nodes/core/locales/ja/messages.json create mode 100644 red/api/locales/ja/infotips.json diff --git a/nodes/core/locales/ja/messages.json b/nodes/core/locales/ja/messages.json new file mode 100644 index 000000000..014ce3a3c --- /dev/null +++ b/nodes/core/locales/ja/messages.json @@ -0,0 +1,823 @@ +{ + "common": { + "label": { + "payload": "ペイロード", + "topic": "トピック", + "name": "名前", + "username": "ユーザ名", + "password": "パスワード" + }, + "status": { + "connected": "接続済", + "not-connected": "未接続", + "disconnected": "切断", + "connecting": "接続中", + "error": "エラー", + "ok": "OK" + }, + "notification": { + "error": "エラー: __message__", + "errors": { + "not-deployed": "ノードがデプロイされていません", + "no-response": "サーバの応答がありません", + "unexpected": "想定外のエラー (__status__) __message__" + } + }, + "errors": { + "nooverride": "警告: メッセージで設定したプロパティは、ノードのプロパティを上書きできません。詳細はbit.ly/nr-override-msg-propsを参照してください。" + } + }, + "inject": { + "inject": "inject", + "repeat": "repeat = __repeat__", + "crontab": "crontab = __crontab__", + "stopped": "stopped", + "failed": "inject失敗: __error__", + "label": { + "repeat": "繰り返し" + }, + "timestamp": "timestamp", + "none": "なし", + "interval": "指定した時間間隔", + "interval-time": "指定した時間間隔、日時", + "time": "指定した日時", + "seconds": "秒", + "minutes": "分", + "hours": "時間", + "between": "時刻", + "previous": "前回の値", + "at": "時刻", + "and": "~", + "every": "時間間隔", + "days": [ + "月曜日", + "火曜日", + "水曜日", + "木曜日", + "金曜日", + "土曜日", + "日曜日" + ], + "on": "曜日", + "onstart": "Node-RED起動時に実行", + "tip": "注釈: 「指定した時間間隔、日時」と「指定した日時」はcronを使用します。詳細はノードの「情報」を確認してください。", + "success": "inject処理を実行しました: __label__", + "errors": { + "failed": "inject処理が失敗しました。詳細はログを確認してください。" + } + }, + "catch": { + "catch": "catch all", + "catchNodes": "catch (__number__)", + "label": { + "source": "エラー取得元", + "node": "ノード", + "type": "型", + "selectAll": "全て選択", + "sortByLabel": "ノード名で並べ替え", + "sortByType": "型で並べ替え" + }, + "scope": { + "all": "全てのノード", + "selected": "選択したノード" + } + }, + "status": { + "status": "status (all)", + "statusNodes": "status (__number__)", + "label": { + "source": "状態取得元", + "node": "ノード", + "type": "型", + "selectAll": "全て選択", + "sortByLabel": "ノード名で並び替え", + "sortByType": "型で並べ替え" + }, + "scope": { + "all": "全てのノード", + "selected": "選択したノード" + } + }, + "debug": { + "output": "対象", + "msgprop": "メッセージプロパティ", + "msgobj": "msgオブジェクト全体", + "to": "出力先", + "debtab": "デバッグタブ", + "tabcon": "デバッグタブとコンソール", + "notification": { + "activated": "有効化しました: __label__", + "deactivated": "無効化しました: __label__" + }, + "sidebar": { + "label": "デバッグ", + "name": "デバッグメッセージ", + "filterAll": "全てのフロー", + "filterSelected": "選択したノード", + "filterCurrent": "現在のフロー" + }, + "messageMenu": { + "collapseAll": "全パスを折りたたむ", + "clearPinned": "選択したパス", + "filterNode": "ノードをフィルタ", + "clearFilter": "フィルタを初期化" + } + }, + "link": { + "linkIn": "link in", + "linkOut": "link out", + "label": { + "event": "イベント名" + } + }, + "tls": { + "tls": "TLS設定", + "label": { + "use-local-files": "ローカルファイルの秘密鍵と証明書を使用", + "upload": "ファイル", + "cert": "証明書", + "key": "秘密鍵", + "ca": "CA証明書", + "verify-server-cert": "サーバ証明書を確認" + }, + "placeholder": { + "cert": "証明書(PEM形式)のパス", + "key": "秘密鍵(PEM形式)のパス", + "ca": "CA証明書(PEM形式)のパス" + }, + "error": { + "missing-file": "証明書と秘密鍵のファイルが設定されていません" + } + }, + "exec": { + "label": { + "command": "コマンド", + "append": "引数", + "timeout": "タイムアウト", + "timeoutplace": "任意", + "return": "出力" + }, + "placeholder": { + "extraparams": "追加引数" + }, + "opt": { + "exec": "コマンド終了時 - execモード", + "spawn": "コマンド実行中 - spawnモード" + }, + "oldrc": "旧型式の出力を使用(互換性モード)" + }, + "function": { + "label": { + "function": "コード", + "outputs": "出力数" + }, + "error": { + "inputListener": "コード内で'input'イベントのリスナを設定できません", + "non-message-returned": "Functionノードが __type__ 型のメッセージ送信を試みました" + }, + "tip": "コードの記述方法はノードの「情報」を参照してください。" + }, + "template": { + "label": { + "template": "テンプレート", + "property": "設定先", + "format": "構文", + "syntax": "形式", + "output": "出力形式", + "mustache": "Mustacheテンプレート", + "plain": "平文", + "json": "JSON" + }, + "templatevalue": "This is the payload: {{payload}} !" + }, + "delay": { + "action": "動作", + "for": "時間", + "delaymsg": "メッセージの遅延", + "delayfixed": "指定した時間遅延", + "delayvarmsg": "msg.delay に遅延を設定", + "randomdelay": "ランダム時間の遅延", + "limitrate": "メッセージの流量制限", + "limitall": "全てのメッセージ", + "limittopic": "msg.topic毎", + "fairqueue": "指定した時間後にキュー先頭のトピックのメッセージを出力", + "timedqueue": "指定した時間後にキューにある全トピックのメッセージを出力", + "milisecs": "ミリ秒", + "secs": "秒", + "sec": "秒", + "mins": "分", + "min": "分", + "hours": "時間", + "hour": "時間", + "days": "日", + "day": "日", + "between": "頻度", + "rate": "流量", + "msgper": "メッセージ/", + "dropmsg": "仲介メッセージを削除", + "label": { + "delay": "delay", + "variable": "variable", + "limit": "limit", + "limitTopic": "limit topic", + "random": "random", + "units": { + "second": { + "plural": "秒", + "singular": "秒" + }, + "minute": { + "plural": "分", + "singular": "分" + }, + "hour": { + "plural": "時間", + "singular": "時間" + }, + "day": { + "plural": "日", + "singular": "日" + } + } + }, + "error": { + "buffer": "バッファ上限の1000メッセージを超えました", + "buffer1": "バッファ上限の1000メッセージを超えました" + } + }, + "trigger": { + "send": "送信データ", + "then": "送信後の処理", + "then-send": "再送信データ", + "output": { + "string": "文字列", + "number": "数値", + "existing": "存在するmsgオブジェクト", + "original": "元のmsgオブジェクト", + "latest": "最新のmsgオブジェクト", + "nothing": "なし" + }, + "wait-reset": "初期化されるまで待機", + "wait-for": "指定した時間待機", + "wait-loop": "指定した時間間隔毎に送信を繰り返す", + "duration": { + "ms": "ミリ秒", + "s": "秒", + "m": "分", + "h": "時間" + }, + "extend": " 新たなメッセージを受け取った時に遅延を延長", + "label": { + "trigger": "trigger", + "trigger-block": "trigger & block", + "trigger-loop": "resend every", + "reset": "初期化条件:", + "resetMessage": "msg.resetを設定", + "resetPayload": "msg.payloadが次の値", + "resetprompt": "任意" + } + }, + "comment": { + "label": { + "title": "タイトル", + "body": "本文" + }, + "tip": "注釈: 本文はGithubのMarkdown形式として整形されます。" + }, + "unknown": { + "label": { + "unknown": "unknown" + }, + "tip": "

現在のNode-RED環境では、本ノードの型が不明です。

現在の状態でに本ノードをデプロイすると設定は保存されますが、不明なノードがインストールされるまでフローは実行されません。

詳細はノードの「情報」を参照してください。

" + }, + "mqtt": { + "label": { + "broker": "サーバ", + "qos": "QoS", + "clientid": "クライアント", + "port": "ポート", + "keepalive": "キープアライブ時間", + "cleansession": "セッションの初期化", + "use-tls": "SSL/TLS接続を使用", + "tls-config": "TLS設定", + "verify-server-cert": "サーバの証明書を確認", + "compatmode": "旧MQTT 3.1のサポート" + }, + "tabs-label": { + "connection": "接続", + "security": "セキュリティ", + "will": "Willメッセージ", + "birth": "Birthメッセージ" + }, + "placeholder": { + "clientid": "IDを自動生成する場合は、無記入にしてください", + "clientid-nonclean": "新規ではないセッションを設定してください", + "will-topic": "Willメッセージを無効化する場合は、無記入にしてください", + "birth-topic": "Birthメッセージを無効化する場合は、無記入にしてください" + }, + "state": { + "connected": "ブローカへ接続しました: __broker__", + "disconnected": "ブローカから切断されました: __broker__", + "connect-failed": "ブローカへの接続に失敗しました: __broker__" + }, + "retain": "保持", + "true": "する", + "false": "しない", + "tip": "注釈: トピックやQoSをメッセージのプロパティを用いて設定する場合は、無記入にしてください。", + "errors": { + "not-defined": "トピックが設定されていません", + "missing-config": "ブローカが設定されていません", + "invalid-topic": "不正なトピックが設定されています", + "nonclean-missingclientid": "「セッションの初期化」使用時に、クライアントIDが設定されていません" + } + }, + "httpin": { + "label": { + "method": "メソッド", + "url": "URL", + "doc": "Docs", + "return": "出力形式", + "upload": "ファイルのアップロード", + "status": "状態コード", + "headers": "ヘッダ" + }, + "setby": "- msg.methodに定義 -", + "basicauth": "ベーシック認証を使用", + "use-tls": "SSL/TLS接続を有効化", + "tls-config": "TLS設定", + "utf8": "文字列", + "binary": "バイナリバッファ", + "json": "JSON", + "tip": { + "in": "URLは相対パスになります。", + "res": "本ノードに送付するメッセージは、http inputノードを起点としてください。", + "req": "注釈: JSONの構文解析に失敗した場合は、取得した文字列をそのまま出力します。" + }, + "httpreq": "http request", + "errors": { + "not-created": "httpNodeRootにfalseが設定されている時は、http-inノードを作成できません", + "missing-path": "パスが設定されていません", + "no-response": "応答がありません", + "json-error": "JSONの構文解析エラー", + "no-url": "URLが設定されていません", + "deprecated-call": "非推奨の呼び出しです __method__", + "invalid-transport": "httpでないトランスポートが要求されました" + }, + "status": { + "requesting": "要求中" + } + }, + "websocket": { + "label": { + "type": "種類", + "path": "パス", + "url": "URL" + }, + "listenon": "待ち受け", + "connectto": "接続", + "payload": "ペイロードを送信/受信", + "message": "メッセージ全体を送信/受信", + "tip": { + "path1": "標準では payload がwebsocketから送信、受信されるデータを持ちます。クライアントはJSON形式の文字列としてメッセージ全体を送信、受信するよう設定できます。", + "path2": "This path will be relative to ", + "url1": "URLには ws:// or wss:// スキーマを使用して、存在するwebsocketリスナを設定してください。", + "url2": "標準では payload がwebsocketから送信、受信されるデータを持ちます。クライアントはJSON形式の文字列としてメッセージ全体を送信、受信するよう設定できます。" + }, + "errors": { + "connect-error": "ws接続でエラーが発生しました: ", + "send-error": "送信中にエラーが発生しました: ", + "missing-conf": "サーバ設定が不足しています" + } + }, + "watch": { + "label": { + "files": "ファイル", + "recursive": "サブディレクトリを再帰的に監視" + }, + "placeholder": { + "files": "複数のファイルやディレクトリはコンマ区切りで入力" + }, + "tip": "Windowsの場合は、ディレクトリの区切り文字として2つのバックスラッシュ \\\\ を使用してください。" + }, + "tcpin": { + "label": { + "type": "種類", + "output": "出力", + "port": "ポート", + "host": "ホスト", + "payload": "のペイロード", + "delimited": "区切り文字", + "close-connection": "メッセージを送信するたびに接続を切断", + "decode-base64": "Base64メッセージの復号", + "server": "サーバ", + "return": "戻り値" + }, + "type": { + "listen": "待ち受け", + "connect": "接続", + "reply": "TCP応答" + }, + "output": { + "stream": "ストリーム", + "single": "単一", + "buffer": "バイナリバッファ", + "string": "文字列", + "base64": "Base64文字列" + }, + "return": { + "timeout": "指定時間後", + "character": "指定文字の受信時", + "number": "指定数の文字列", + "never": "なし - 接続を維持", + "immed": "即時 - 応答を待たない" + }, + "status": { + "connecting": "__host__:__port__ へ接続しています", + "connected": "__host__:__port__ へ接続しました", + "listening-port": "ポート __port__ にて接続を待ち受けています", + "stopped-listening": "ポートの待ち受けを停止しました", + "connection-from": "__host__:__port__ から接続されました", + "connection-closed": "__host__:__port__ からの接続が切断されました", + "connections": "接続数 __count__", + "connections_plural": "接続数 __count__" + }, + "errors": { + "connection-lost": "__host__:__port__ への接続が失われました", + "timeout": "ポート __port__ のソケットがタイムアウトにより切断されました", + "cannot-listen": "ポート __port__ の待ち受けができません エラー: __error__", + "error": "エラー: __error__", + "socket-error": "__host__:__port__ にてソケットのエラーが生じました", + "no-host": "ホスト名またはポートが設定されていません", + "connect-timeout": "接続がタイムアウトしました", + "connect-fail": "接続に失敗しました" + } + }, + "udp": { + "label": { + "listen": "待ち受け", + "onport": "ポート", + "using": "種類", + "output": "出力", + "group": "グループ", + "interface": "ローカルIP", + "interfaceprompt": "(任意) 使用するローカルIPアドレス", + "send": "送信", + "toport": "ポート", + "address": "アドレス", + "decode-base64": "Base64形式のペイロードを復号" + }, + "placeholder": { + "interface": "(任意) eth0のIPアドレス", + "address": "宛先IPアドレス" + }, + "udpmsgs": "UDPメッセージ", + "mcmsgs": "マルチキャストメッセージ", + "udpmsg": "UDPメッセージ", + "bcmsg": "ブロードキャストメッセージ", + "mcmsg": "マルチキャストメッセージ", + "output": { + "buffer": "バイナリバッファ", + "string": "文字列", + "base64": "Base64文字列" + }, + "bind": { + "random": "ローカルポートをランダムに使用", + "local": "ローカルポートを使用", + "target": "指定したポートを使用" + }, + "tip": { + "in": "注釈: ファイアウォールが通信を許可しているか確認してください。", + "out": "注釈: msg.ipmsg.port を用いて設定する場合は、「アドレス」や「ポート」を無記入にしてください。", + "port": "既にポートが使用されています: " + }, + "status": { + "listener-at": "udpノードが __host__:__port__ にて接続を待ち受けています", + "mc-group": "udpノードがグループ __group__ へマルチキャストしました", + "listener-stopped": "udpノードが待ち受けを停止しました", + "output-stopped": "udpノードが出力を停止しました", + "mc-ready": "udpノードはマルチキャストの準備ができています: __outport__ -> __host__:__port__", + "bc-ready": "udpノードはブロードキャストの準備ができています: __outport__ -> __host__:__port__", + "ready": "udpノードは準備ができています: __outport__ -> __host__:__port__", + "ready-nolocal": "udpノードは準備ができています: __host__:__port__" + }, + "errors": { + "access-error": "UDP接続エラー 管理者権限で1024未満のポート番号にアクセスできる必要があります", + "error": "エラー: __error__", + "bad-mcaddress": "マルチキャストアドレスが不正です", + "interface": "インターフェイスのIPアドレスを設定する必要があります", + "ip-notset": "udp: IPアドレスが設定されていません", + "port-notset": "udp: ポートが設定されていません", + "port-invalid": "udp: ポート番号が不正です", + "alreadyused": "udp: 既にポートが使用されています" + } + }, + "switch": { + "label": { + "property": "プロパティ", + "rule": "条件" + }, + "and": "~", + "checkall": "全ての条件を適用", + "stopfirst": "最初に合致した条件で終了", + "ignorecase": "大文字、小文字を区別しない", + "rules": { + "btwn": "is between", + "cont": "contains", + "regex": "matches regex", + "true": "is true", + "false": "is false", + "null": "is null", + "nnull": "is not null", + "else": "otherwise" + }, + "errors": { + "invalid-expr": "不正な表現: __error__" + } + }, + "change": { + "label": { + "rules": "ルール", + "rule": "ルール", + "set": "set __property__", + "change": "change __property__", + "delete": "delete __property__", + "move": "move __property__", + "changeCount": "change: __count__ rules", + "regex": "正規表現を使用" + }, + "action": { + "set": "値の代入", + "change": "値の置換", + "delete": "値の削除", + "move": "値の移動", + "to": "対象の値", + "search": "検索する文字列", + "replace": "置換後の文字列" + }, + "errors": { + "invalid-from": "操作対象のプロパティが不正: __error__", + "invalid-json": "対象の値のJSONプロパティが不正", + "invalid-expr": "JSONata式が不正: __error__" + } + }, + "range": { + "label": { + "action": "動作", + "inputrange": "入力値の範囲", + "resultrange": "出力値の範囲", + "from": "最小値", + "to": "最大値", + "roundresult": "小数値を四捨五入し整数値へ変換" + }, + "placeholder": { + "min": "例) 0", + "maxin": "例) 99", + "maxout": "例) 255" + }, + "scale": { + "payload": "msg.payloadの値を拡大/縮小", + "limit": "入力値の範囲外の値を最小値/最大値とし拡大/縮小", + "wrap": "入力値の範囲外の値を範囲幅で割った余りとし拡大/縮小" + }, + "tip": "注釈: 本ノードは、数値のみ扱うことができます。", + "errors": { + "notnumber": "数値ではありません" + } + }, + "csv": { + "label": { + "columns": "列名", + "separator": "区切り文字", + "c2o": "CSVからオブジェクトへ変換", + "o2c": "オブジェクトからCSVへ変換", + "input": "入力", + "firstrow": "1行目に列名を含む", + "output": "出力", + "includerow": "1行目を列名とする", + "newline": "改行コード" + }, + "placeholder": { + "columns": "コンマ区切りで列名を入力" + }, + "separator": { + "comma": "コンマ", + "tab": "タブ", + "space": "空白", + "semicolon": "セミコロン", + "colon": "コロン", + "hashtag": "ハッシュタグ", + "other": "その他..." + }, + "output": { + "row": "行毎にメッセージを分割", + "array": "配列化した1つのメッセージ" + }, + "newline": { + "linux": "Linux (\\n)", + "mac": "Mac (\\r)", + "windows": "Windows (\\r\\n)" + }, + "errors": { + "csv_js": "本ノードが処理できる形式は、CSV文字列またはJSONのみです", + "obj_csv": "オブジェクトをCSVへ変換する際の列名が設定されていません" + } + }, + "html": { + "label": { + "select": "抽出する要素", + "output": "出力" + }, + "output": { + "html": "要素内のHTML", + "text": "要素のテキストのみ", + "attr": "要素の全ての属性" + }, + "format": { + "single": "配列化した1つのメッセージ", + "multi": "要素毎の複数のメッセージ" + } + }, + "json": { + "errors": { + "dropped-object": "オブジェクト形式でないペイロードを無視しました", + "dropped": "対応していない形式のペイロードを無視しました", + "dropped-error": "ペイロードの変換処理が失敗しました" + }, + "label": { + "o2j": "オブジェクトからJSONへ変換", + "pretty": "JSON文字列フォーマット" + } + }, + "yaml": { + "errors": { + "dropped-object": "オブジェクト形式でないペイロードを無視しました", + "dropped": "対応していない形式のペイロードを無視しました", + "dropped-error": "ペイロードの変換処理が失敗しました" + } + }, + "xml": { + "label": { + "represent": "XMLタグ属性を次のプロパティ名として表現", + "prefix": "文字列を参照するための接頭辞", + "advanced": "詳細設定", + "x2o": "XMLからオブジェクトへ変換" + }, + "errors": { + "xml_js": "本ノードは、XML形式の文字列またはJSONのみ処理します" + } + }, + "rpi-gpio": { + "label": { + "gpiopin": "GPIO", + "selectpin": "端子の選択", + "resistor": "抵抗", + "readinitial": "デプロイや再起動時に端子の初期状態を読み込む", + "type": "出力形式", + "initpin": "端子の状態を初期化", + "debounce": "デバウンス", + "freq": "頻度", + "button": "ボタン", + "pimouse": "Pi Mouse", + "pikeyboard": "Pi Keyboard", + "left": "Left", + "right": "Right", + "middle": "Middle" + }, + "resistor": { + "none": "なし", + "pullup": "プルアップ", + "pulldown": "プルダウン" + }, + "digout": "デジタル出力", + "pwmout": "PWM出力", + "servo": "サーボ出力", + "initpin0": "端子の初期レベル - Low (0)", + "initpin1": "端子の初期レベル - High (1)", + "left": "左", + "right": "右", + "middle": "中間", + "any": "全て", + "pinname": "端子", + "alreadyuse": "使用中", + "alreadyset": "設定済", + "tip": { + "pin": "使用中の端子: ", + "in": "注釈: 入力値は、0または1の数値のみ対応しています。", + "dig": "注釈: 「出力形式」として「デジタル出力」を用いる場合、入力値は0または1の数値である必要があります。", + "pwm": "注釈: 「出力形式」として「PWM出力」を用いる場合、入力値は0~100の数値である必要があります。", + "ser": "注釈: サーボ出力向け - 入力値は0~100の間である必要があります。50が中心値です。" + }, + "types": { + "digout": "デジタル出力", + "input": "入力", + "pullup": "プルアップの入力", + "pulldown": "プルダウンの入力", + "pwmout": "PWM出力", + "servo": "サーボ出力" + }, + "status": { + "stopped": "停止", + "closed": "切断", + "not-running": "停止中" + }, + "errors": { + "ignorenode": "Raspberry Pi固有のノードを無視しました", + "version": "バージョンコマンドが失敗しました", + "sawpitype": "Saw Pi Type", + "libnotfound": "RPi.GPIO pythonライブラリを見つけられませんでした", + "alreadyset": "GPIO端子 __pin__ は既に出力形式が設定されています: __type__", + "invalidpin": "GPIO端子が不正です", + "invalidinput": "入力が不正です", + "needtobeexecutable": "__command__ は実行可能である必要があります", + "mustbeexecutable": "nrgpio は実行可能である必要があります", + "commandnotfound": "nrgpio コマンドが見つかりません", + "commandnotexecutable": "nrgpio コマンドが実行可能ではありません", + "error": "エラー: __error__", + "pythoncommandnotfound": "nrpgio python コマンドが実行されていません" + } + }, + "tail": { + "label": { + "filename": "ファイル名", + "type": "ファイル形式", + "splitlines": "改行でメッセージを分割" + }, + "action": { + "text": "文字列", + "binary": "バイナリバッファ" + }, + "errors": { + "windowsnotsupport": "現在Windows上での動作は対応していません" + } + }, + "file": { + "label": { + "filename": "ファイル名", + "action": "動作", + "addnewline": "メッセージの入力のたびに改行を追加", + "createdir": "ディレクトリが存在しない場合は作成", + "outputas": "出力形式", + "filelabel": "file", + "deletelabel": "delete __file__" + }, + "action": { + "append": "ファイルへ追記", + "overwrite": "ファイルを上書き", + "delete": "ファイルを削除" + }, + "output": { + "utf8": "文字列", + "buffer": "バイナリバッファ" + }, + "status": { + "wrotefile": "ファイルへ書き込みました: __file__", + "deletedfile": "ファイルを削除しました: __file__", + "appendedfile": "ファイルへ追記しました: __file__" + }, + "errors": { + "nofilename": "ファイル名が設定されていません", + "invaliddelete": "警告: 削除が無効です。設定ダイアログで特定の削除設定を使用してください", + "deletefail": "ファイルの削除処理が失敗しました: __error__", + "writefail": "ファイルの書き込み処理が失敗しました: __error__", + "appendfail": "ファイルの追記処理が失敗しました: __error__", + "createfail": "ファイルの作成処理が失敗しました: __error__" + }, + "tip": "注釈: 「ファイル名」はフルパスを設定する必要があります。" + }, + "split": { + "intro": "型に基づいて msg.payload を分割:", + "object": "オブジェクト", + "objectSend": "各key/valueペアのメッセージを送信", + "strBuff": "文字列 / バッファ", + "array": "配列", + "splitUsing": "分割", + "splitLength": "固定長", + "stream": "メッセージのストリームとして処理" + }, + "join": { + "mode": { + "mode": "動作", + "auto": "自動", + "custom": "手動" + }, + "combine": "結合", + "create": "出力", + "type": { + "string": "文字列", + "array": "配列", + "object": "key/valueオブジェクト", + "merged": "結合オブジェクト" + }, + "using": "使用", + "key": "キー", + "joinedUsing": "連結文字", + "send": "メッセージ送信:", + "afterCount": "指定数のメッセージパーツを受信後", + "count": "合計値", + "subsequent": "後続のメッセージ毎", + "afterTimeout": "最初のメッセージ受信からのタイムアウト後", + "seconds": "秒", + "complete": "msg.complete プロパティが設定されたメッセージ受信後", + "tip": "このモードでは、本ノードが split ノードと組となるか、 msg.parts プロパティが設定されたメッセージを受け取ることが前提となります。" + } +} diff --git a/red/api/locales/ja/editor.json b/red/api/locales/ja/editor.json index 8846f7c15..e73cffd03 100644 --- a/red/api/locales/ja/editor.json +++ b/red/api/locales/ja/editor.json @@ -1,9 +1,9 @@ -{ +{ "common": { "label": { "name": "名前", - "ok": "Ok", - "done":"完了", + "ok": "OK", + "done": "完了", "cancel": "中止", "delete": "削除", "close": "閉じる", @@ -19,14 +19,19 @@ "confirmDelete": "削除の確認", "delete": "本当に '__label__' を削除しますか?", "dropFlowHere": "ここにフローをドロップしてください", - "info": "詳細" + "status": "状態", + "enabled": "有効", + "disabled": "無効", + "info": "詳細", + "tip": "マークダウン形式で記述した「詳細」は「情報タブ」に表示されます。" }, "menu": { "label": { "view": { "view": "表示", - "showGrid": "グリッド表示", - "snapGrid": "処理ノードの配置を補助", + "showGrid": "グリッドを表示", + "snapGrid": "ノードの配置を補助", + "gridSize": "グリッドの大きさ", "textDir": "テキストの方向", "defaultDir": "標準", "ltr": "左から右", @@ -34,13 +39,14 @@ "auto": "文脈" }, "sidebar": { - "show": "右側のサイドバーを表示" + "show": "サイドバーを表示" }, - "displayStatus": "処理ノードの状態を表示", - "displayConfig": "処理ノードの設定", + "userSettings": "設定", + "displayStatus": "ノードの状態を表示", + "displayConfig": "ノードの設定", "import": "読み込み", "export": "書き出し", - "search": "処理ノードを検索", + "search": "ノードを検索", "clipboard": "クリップボード", "library": "ライブラリ", "examples": "サンプル", @@ -54,7 +60,8 @@ "keyboardShortcuts": "ショートカットキーの説明", "login": "ログイン", "logout": "ログアウト", - "editPalette":"処理ノードの追加削除" + "editPalette": "パレットの管理", + "showTips": "ヒントを表示" } }, "user": { @@ -66,73 +73,102 @@ "notification": { "warning": "警告: __message__", "warnings": { - "undeployedChanges": "処理ノードの変更をデプロイしていません", - "nodeActionDisabled": "処理ノードのアクションは、サブフロー内で無効になっています" + "undeployedChanges": "ノードの変更をデプロイしていません", + "nodeActionDisabled": "ノードのアクションは、サブフロー内で無効になっています", + "missing-types": "不明なノードが存在するため、フローを停止しました。詳細はログを確認してください", + "restartRequired": "更新されたモジュールを有効化するため、Node-REDを再起動する必要があります" }, - "error": "エラー: __message__", "errors": { "lostConnection": "サーバとの接続が切断されました: 再接続しています", - "lostConnectionReconnect": "サーバとの接続が切断されました: __time__ 秒以内に再接続します", - "lostConnectionTry": "すぐに再接続", + "lostConnectionReconnect": "サーバとの接続が切断されました: __time__ 秒後に再接続します", + "lostConnectionTry": "すぐに接続", "cannotAddSubflowToItself": "サブフロー自身を追加できません", - "cannotAddCircularReference": "循環参照を検出したため、サブフローを追加できません" + "cannotAddCircularReference": "循環参照を検出したため、サブフローを追加できません", + "unsupportedVersion": "サポートされていないバージョンのNode.jsを使用しています。
最新のNode.js LTSに更新してください" } }, "clipboard": { - "nodes": "処理ノード", + "nodes": "ノード", "selectNodes": "上のテキストを選択し、クリップボードへコピーしてください", "pasteNodes": "JSON形式のフローデータを貼り付けてください", - "importNodes": "フローの読み込み", + "importNodes": "フローをクリップボートから読み込み", "exportNodes": "フローをクリップボードへ書き出し", "importUnrecognised": "認識できない型が読み込まれました:", "importUnrecognised_plural": "認識できない型が読み込まれました:", - "nodesExported": "処理ノードがクリップボードへ書き出されました", - "nodeCopied": "__count__ 個の処理ノードがコピーされました", - "nodeCopied_plural": "__count__ 個の処理ノードがコピーされました", - "invalidFlow": "無効なフロー: __message__", + "nodesExported": "クリップボードへフローを書き出しました", + "nodeCopied": "__count__ 個のノードをコピーしました", + "nodeCopied_plural": "__count__ 個のノードをコピーしました", + "invalidFlow": "不正なフロー: __message__", "export": { - "selected":"選択した処理ノード", - "current":"現在のフロー", - "all":"全フロー", - "compact":"インデントのないJSONフォーマット", - "formatted":"インデント付きのJSONフォーマット", - "copy": "クリップボードへ書き出し" + "selected": "選択したフロー", + "current": "現在のタブ", + "all": "全てのタブ", + "compact": "インデントのないJSONフォーマット", + "formatted": "インデント付きのJSONフォーマット", + "copy": "書き出し" }, "import": { "import": "読み込み先", - "newFlow": "新規フロー" - } + "newFlow": "新規のタブ" + }, + "copyMessagePath": "パスをコピーしました", + "copyMessageValue": "値をコピーしました", + "copyMessageValue_truncated": "切り捨てられた値をコピーしました" }, "deploy": { "deploy": "デプロイ", "full": "全て", "fullDesc": "ワークスペースを全てデプロイ", "modifiedFlows": "変更したフロー", - "modifiedFlowsDesc": "変更した処理ノードを含むフローのみデプロイ", - "modifiedNodes": "変更した処理ノード", - "modifiedNodesDesc": "変更した処理ノードのみデプロイ", + "modifiedFlowsDesc": "変更したノードを含むフローのみデプロイ", + "modifiedNodes": "変更したノード", + "modifiedNodesDesc": "変更したノードのみデプロイ", "successfulDeploy": "デプロイが成功しました", "deployFailed": "デプロイが失敗しました: __message__", - "unusedConfigNodes":"使われていない処理ノードの設定があります", - "unusedConfigNodesLink":"これらを参照するため、ここをクリックしてください", + "unusedConfigNodes": "使われていない「ノードの設定」があります。", + "unusedConfigNodesLink": "設定を参照する", "errors": { - "noResponse": "サーバからの応答がありません" + "noResponse": "サーバの応答がありません" }, "confirm": { "button": { + "ignore": "無視", "confirm": "デプロイの確認", "review": "差分を確認", "cancel": "中止", - "merge": "変更をマージ" + "merge": "変更をマージ", + "overwrite": "無視してデプロイ" }, - "undeployedChanges": "デプロイしていない変更があります このページを抜けると、これらの変更が消えます", - "improperlyConfigured": "以下の処理ノードは、正しくプロパティが設定されていません:", - "unknown": "ワークスペースに未知の型の処理ノードがあります", + "undeployedChanges": "デプロイしていない変更があります。このページを抜けると変更が削除されます。", + "improperlyConfigured": "以下のノードは、正しくプロパティが設定されていません:", + "unknown": "ワークスペースに未知の型のノードがあります。", "confirm": "このままデプロイしても良いですか?", - "conflict": "フローを編集している間に、他のブラウザが他のフローをデプロイしました。
デプロイを継続すると、他のフローが削除されます。

" + "conflict": "フローを編集している間に、他のブラウザがフローをデプロイしました。デプロイを継続すると、他のブラウザがデプロイしたフローが削除されます。", + "backgroundUpdate": "サーバ上のフローが更新されました", + "conflictChecking": "変更を自動的にマージしてよいか確認してください。", + "conflictAutoMerge": "変更の衝突がないため、自動的にマージできます。", + "conflictManualMerge": "変更に衝突があるため、デプロイ前に解決する必要があります。" } }, + "diff": { + "unresolvedCount": "未解決の衝突 __count__", + "unresolvedCount_plural": "未解決の衝突 __count__", + "type": { + "added": "追加", + "changed": "変更", + "unchanged": "変更なし", + "deleted": "削除", + "flowDeleted": "削除されたフロー", + "flowAdded": "追加されたフロー", + "movedTo": "__id__ へ移動", + "movedFrom": "__id__ から移動" + }, + "nodeCount": "ノード数 __count__", + "nodeCount_plural": "ノード数 __count__", + "local": "ローカル", + "remote": "リモート" + }, "subflow": { "editSubflow": "フローのテンプレートを編集: __name__", "edit": "フローのテンプレートを編集", @@ -143,9 +179,9 @@ "output": "出力:", "deleteSubflow": "サブフローを削除", "info": "詳細", - "format":"マークダウン形式", + "format": "マークダウン形式", "errors": { - "noNodesSelected": "サブフローを作成できません: 処理ノードが選択されていません", + "noNodesSelected": "サブフローを作成できません: ノードが選択されていません", "multipleInputsToSelection": "サブフローを作成できません: 複数の入力が選択されています" } }, @@ -154,33 +190,41 @@ "configAdd": "追加", "configUpdate": "更新", "configDelete": "削除", - "nodesUse": "__count__ 個の処理ノードが、この設定を使用しています", - "nodesUse_plural": "__count__ 個の処理ノードが、この設定を使用しています", - "addNewConfig": "新規に __type__ 処理ノードの設定を追加", - "editNode": "__type__ 処理ノードを編集", - "editConfig": "__type__ 処理ノードの設定を編集", - "addNewType": "新規に __type__ を追加。。。", + "nodesUse": "__count__ 個のノードが、この設定を使用しています", + "nodesUse_plural": "__count__ 個のノードが、この設定を使用しています", + "addNewConfig": "新規に __type__ ノードの設定を追加", + "editNode": "__type__ ノードを編集", + "editConfig": "__type__ ノードの設定を編集", + "addNewType": "新規に __type__ を追加...", + "nodeProperties": "プロパティ", + "portLabels": "端子名", + "labelInputs": "入力", + "labelOutputs": "出力", + "noDefaultLabel": "なし", + "defaultLabel": "既定の名前を使用", "errors": { - "scopeChange": "スコープの変更は、他のフローで使われている処理ノードを無効にします" + "scopeChange": "スコープの変更は、他のフローで使われているノードを無効にします" } }, "keyboard": { - "selectAll": "全ての処理ノードを選択", - "selectAllConnected": "接続された全ての処理ノードを選択", - "addRemoveNode": "処理ノードの選択、選択解除", - "deleteSelected": "選択した処理ノードや接続を削除", + "title": "キーボードショートカット", + "unassigned": "未割当", + "selectAll": "全てのノードを選択", + "selectAllConnected": "接続された全てのノードを選択", + "addRemoveNode": "ノードの選択、選択解除", + "editSelected": "選択したノードを編集", + "deleteSelected": "選択したノードや接続を削除", "importNode": "フローの読み込み", "exportNode": "フローの書き出し", - "nudgeNode": "選択した処理ノードを移動(移動量小)", - "moveNode": "選択した処理ノードを移動(移動量大)", - "toggleSidebar": "右側のサイドバーの表示・非表示", - "deleteNode": "選択した処理ノードや接続を削除", - "copyNode": "選択した処理ノードをコピー", - "cutNode": "選択した処理ノードを切り取り", - "pasteNode": "処理ノードを貼り付け", + "nudgeNode": "選択したノードを移動(移動量小)", + "moveNode": "選択したノードを移動(移動量大)", + "toggleSidebar": "サイドバーの表示非表示", + "copyNode": "選択したノードをコピー", + "cutNode": "選択したノードを切り取り", + "pasteNode": "ノードを貼り付け", "undoChange": "変更操作を戻す", - "searchBox": "処理ノードを検索", - "managePalette": "処理ノードの追加・削除" + "searchBox": "ノードを検索", + "managePalette": "パレットの管理" }, "library": { "openLibrary": "ライブラリを開く", @@ -189,23 +233,21 @@ "unnamedType": "名前なし __type__", "exportToLibrary": "ライブラリへフローを書き出す", "dialogSaveOverwrite": "__libraryName__ という __libraryType__ は既に存在しています 上書きしますか?", - "invalidFilename": "無効なファイル名", - "savedNodes": "保存された処理ノード", + "invalidFilename": "不正なファイル名", + "savedNodes": "保存されたノード", "savedType": "保存された __type__", "saveFailed": "保存に失敗しました: __message__", - "filename": "ファイル名", "folder": "フォルダ", "filenamePlaceholder": "ファイル", "fullFilenamePlaceholder": "a/b/file", "folderPlaceholder": "a/b", - "breadcrumb": "ライブラリ" }, "palette": { "noInfo": "情報がありません", - "filter": "処理ノードを検索", - "search": "処理ノードを検索", + "filter": "ノードを検索", + "search": "ノードを検索", "label": { "subflows": "サブフロー", "input": "入力", @@ -217,17 +259,18 @@ "advanced": "その他" }, "event": { - "nodeAdded": "処理ノードがパレットへ追加されました:", - "nodeAdded_plural": "処理ノードがパレットへ追加されました", - "nodeRemoved": "処理ノードがパレットから削除されました:", - "nodeRemoved_plural": "処理ノードがパレットから削除されました:", - "nodeEnabled": "処理ノードを有効化しました:", - "nodeEnabled_plural": "処理ノードを有効化しました:", - "nodeDisabled": "処理ノードを無効化しました:", - "nodeDisabled_plural": "処理ノードを無効化しました:" + "nodeAdded": "ノードをパレットへ追加しました:", + "nodeAdded_plural": "ノードをパレットへ追加しました", + "nodeRemoved": "ノードをパレットから削除しました:", + "nodeRemoved_plural": "ノードをパレットから削除しました:", + "nodeEnabled": "ノードを有効化しました:", + "nodeEnabled_plural": "ノードを有効化しました:", + "nodeDisabled": "ノードを無効化しました:", + "nodeDisabled_plural": "ノードを無効化しました:", + "nodeUpgraded": "ノードモジュール __module__ をバージョン __version__ へ更新しました" }, "editor": { - "title": "処理ノードの追加削除", + "title": "パレットの管理", "times": { "seconds": "秒前", "minutes": "分前", @@ -242,14 +285,15 @@ "monthsV_plural": "__count__ ヵ月前", "yearsV": "__count__ 年前", "yearsV_plural": "__count__ 年前", - "yearMonthsV": "__y__ 年 __count__ ヵ月前", "yearMonthsV_plural": "__y__ 年 __count__ ヵ月前", "yearsMonthsV": "__y__ 年 __count__ ヵ月前", "yearsMonthsV_plural": "__y__ 年 __count__ ヵ月前" }, - "nodeCount": "__label__ 個の処理ノード", - "nodeCount_plural": "__label__ 個の処理ノード", + "nodeCount": "__label__ 個のノード", + "nodeCount_plural": "__label__ 個のノード", + "moduleCount": "__count__ 個のモジュール", + "moduleCount_plural": "__count__ 個のモジュール", "inuse": "使用中", "enableall": "全て有効化", "disableall": "全て無効化", @@ -257,65 +301,123 @@ "disable": "無効化", "remove": "削除", "update": "__version__ へ更新", - "install": "処理ノードを追加", + "updated": "更新済", + "install": "ノードを追加", "installed": "追加しました", "loading": "カタログを読み込み中", - "tab-nodes": "現在の処理ノード", - "tab-install": "処理ノードを追加", + "tab-nodes": "現在のノード", + "tab-install": "ノードを追加", "sort": "並べ替え:", "sortAZ": "辞書順", "sortRecent": "日付順", "more": "+ さらに __count__ 個", "errors": { - "installFailed": "追加処理が失敗しました: __module__
__message__
詳細な情報はログを確認してください" + "catalogLoadFailed": "ノードのカタログの読み込みに失敗しました
詳細はブラウザのコンソールを確認してください", + "installFailed": "追加処理が失敗しました: __module__
__message__
詳細はログを確認してください", + "removeFailed": "削除処理が失敗しました: __module__
__message__
詳細はログを確認してください", + "updateFailed": "更新処理が失敗しました: __module__
__message__
詳細はログを確認してください", + "enableFailed": "有効化処理が失敗しました: __module__
__message__
詳細はログを確認してください", + "disableFailed": "無効化処理が失敗しました: __module__
__message__
詳細はログを確認してください" + }, + "confirm": { + "install": { + "body": "ノードを追加する前に、ドキュメントを確認してください。ノードによっては、モジュールの依存関係を自動的に解決できない場合や、Node-REDの再起動が必要となる場合があります。", + "title": "ノードを追加" + }, + "remove": { + "body": "Node-REDからノードを削除します。ノードはNode-REDが再起動されるまで、リソースを使い続けます。", + "title": "ノードを削除" + }, + "update": { + "body": "更新を完了するには手動でNode-REDを再起動する必要があります。", + "title": "ノードの更新" + }, + "cannotUpdate": { + "body": "ノードの更新があります。「パレットの管理」の画面では更新されません。ドキュメントを参照し、ノードの更新手順を確認してください。" + }, + "button": { + "review": "ノードの情報を参照", + "install": "追加", + "remove": "削除", + "update": "更新" + } } - } }, "sidebar": { "info": { - "name": "処理ノードの仕様を表示", - "label": "処理ノードの仕様", - "node": "処理ノード", + "name": "ノードの情報を表示", + "label": "情報", + "node": "ノード", "type": "型", "id": "ID", "subflow": "サブフロー", "instances": "インスタンス", "properties": "プロパティ", + "info": "情報", "blank": "ブランク", "null": "ヌル", - "arrayItems": "__count__ 要素" + "arrayItems": "__count__ 要素", + "showTips": "設定からヒントを表示できます" }, "config": { - "name": "処理ノードの設定を表示", - "label": "処理ノードの設定", + "name": "ノードの設定を表示", + "label": "ノードの設定", "global": "全てのフロー上", "none": "なし", "subflows": "サブフロー", "flows": "フロー", - "filterUnused":"未使用", - "filterAll":"全て", - "filtered": "__count__ 個が無効化" + "filterUnused": "未使用", + "filterAll": "全て", + "filtered": "__count__ 個が無効" }, "palette": { - "name": "処理ノードの追加削除", + "name": "パレットの管理", "label": "パレット" } }, "typedInput": { "type": { - "str": "string", - "num": "number", - "re": "regular expression", - "bool": "boolean", + "str": "文字列", + "num": "数値", + "re": "正規表現", + "bool": "真偽", "json": "JSON", - "date": "timestamp" + "date": "日時" } }, "editableList": { "add": "追加" }, "search": { - "empty": "一致したものが見つかりませんでした" + "empty": "一致したものが見つかりませんでした", + "addNode": "ノードを追加..." + }, + "expressionEditor": { + "functions": "関数", + "insert": "挿入", + "title": "JSONata式エディタ", + "data": "メッセージ例", + "result": "結果", + "format": "形式", + "compatMode": "互換モードが有効になっています", + "compatModeDesc": "

JSONata互換モード

入力された式では msg を参照しているため、互換モードで評価します。このモードは将来廃止予定のため、式で msg を使わないよう修正してください。

JSONataをNode-REDで最初にサポートした際には、 msg オブジェクトの参照が必要でした。例えば msg.payload がペイロードを参照するために使われていました。

直接メッセージに対して式を評価するようになったため、この形式は使えなくなります。ペイロードを参照するには、単に payload にしてください。

", + "noMatch": "一致した結果なし", + "errors": { + "invalid-expr": "不正なJSONata式:\n __message__", + "invalid-msg": "不正なJSONメッセージ例:\n __message__", + "context-unsupported": "$flowContext や $globalContextの\nコンテキスト機能をテストできません", + "eval": "表現評価エラー:\n __message__" + } + }, + "jsonEditor": { + "title": "JSONエディタ", + "format": "JSONフォーマット" + }, + "bufferEditor": { + "title": "バッファエディタ", + "modeString": "UTF-8文字列として処理", + "modeArray": "JSON配列として処理", + "modeDesc": "

バッファエディタ

バッファ型は、バイト値から成るJSON配列として格納されます。このエディタは、入力値をJSON配列として構文解析します。もし不正なJSON配列の場合、UTF-8文字列として扱い、各文字コード番号から成る配列へ変換します。

例えば、 Hello World という値を、以下のJSON配列へ変換します。

[72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100]

" } -} \ No newline at end of file +} diff --git a/red/api/locales/ja/infotips.json b/red/api/locales/ja/infotips.json new file mode 100644 index 000000000..45ba8450e --- /dev/null +++ b/red/api/locales/ja/infotips.json @@ -0,0 +1,23 @@ +{ + "info": { + "tip0": "選択したノードや接続を {{core:delete-selection}} により、削除できます。", + "tip1": "{{core:search}} で、フロー内のノードを検索できます。", + "tip2": "{{core:toggle-sidebar}} で、サイドバーの表示/非表示の切り替えができます。", + "tip3": "{{core:manage-palette}} で「パレットの管理」が表示されます。", + "tip4": "フロー内の「ノードの設定」は、サイドバーに一覧表示できます。メニューから呼び出すか {{core:show-config-tab}} を入力してください。", + "tip5": "設定により、ヒントの表示/非表示を変更できます。", + "tip6": "[left] [up] [down] [right] で選択したノードを移動できます。[shift] を押すと移動量が大きくなります。", + "tip7": "ノードを接続の上へドラッグすると、接続内にノードを挿入できます。", + "tip8": "選択したノードやタブ内のフローをJSONデータとして書き出すには {{core:show-export-dialog}} を押してください。", + "tip9": "フローデータが入ったJSONファイルをエディタへドラッグ、または {{core:show-import-dialog}} により、フローを読み込むことができます。", + "tip10": "ノードの端子に複数の接続がある時、[shift] を押しながら [click] しドラッグすることで、複数の接続をまとめて他のノードの端子へ移動できます。", + "tip11": "{{core:show-info-tab}} で「情報」タブを表示します。 {{core:show-debug-tab}} で「デバッグ」タブを表示します。", + "tip12": "[ctrl] を押しながらワークスペースを [click] すると、ノードのダイアログが表示され、素早くノードを追加できます。", + "tip13": "[ctrl] を押しながらノードの端子や後続のノードを [click] すると、複数のノードを素早く接続できます。", + "tip14": "[shift] を押しながらノードを [click] すると、接続された全てのノードを選択できます。", + "tip15": "[ctrl] を押しながらノードを [click] すると、選択/非選択を切り替えできます。", + "tip16": "{{core:show-previous-tab}} や {{core:show-next-tab}} で、タブの切り替えができます。", + "tip17": "ノードのプロバティ設定画面にて {{core:confirm-edit-tray}} を押すと、変更を確定できます。また、 {{core:cancel-edit-tray}} を押すと、変更を取り消せます。", + "tip18": "ノードを選択し、 {{core:edit-selected-node}} を押すとプロパティ設定画面が表示されます。" + } +}