mirror of
				https://github.com/node-red/node-red.git
				synced 2025-03-01 10:36:34 +00:00 
			
		
		
		
	fix to make actions list i18n ready and Japanese translation
This commit is contained in:
		| @@ -1151,5 +1151,137 @@ | ||||
|         "ru": "ロシア語", | ||||
|         "zh-CN": "中国語(簡体)", | ||||
|         "zh-TW": "中国語(繁体)" | ||||
|     }, | ||||
|     "action-list": { | ||||
|         "toggle-show-tips" : "ヒント表示切替", | ||||
|         "show-about" : "Node-REDの説明を表示", | ||||
|         "show-welcome-tour": "ウェルカムツアー表示", | ||||
|         "show-next-tab": "次のタブを表示", | ||||
|         "show-previous-tab": "前のタブを表示", | ||||
|         "add-flow": "フローを追加", | ||||
|         "add-flow-to-right": "フローを右に追加", | ||||
|         "edit-flow": "フローを編集", | ||||
|         "remove-flow": "フローを削除", | ||||
|         "enable-flow": "フローを有効化", | ||||
|         "disable-flow": "フローを無効化", | ||||
|         "hide-flow": "フローを隠す", | ||||
|         "hide-other-flows": "他のフローを非表示", | ||||
|         "hide-all-flows": "全てのフローを非表示", | ||||
|         "show-all-flows": "全てのフローを表示", | ||||
|         "show-last-hidden-flow": "最後に非表示にしたフローを表示", | ||||
|         "list-hidden-flows": "非表示フローを表示", | ||||
|         "list-flows": "フロー一覧", | ||||
|         "list-subflows": "サブフロー一覧", | ||||
| 		"go-to-previous-location": "前の位置に移動", | ||||
| 		"go-to-next-location": "次の位置に移動", | ||||
| 		"copy-selection-to-internal-clipboard": "選択をクリップボードにコピー", | ||||
| 		"cut-selection-to-internal-clipboard": "選択をクリップボードに切り取り", | ||||
| 		"paste-from-internal-clipboard": "クリップボードから貼り付け", | ||||
| 		"detach-selected-nodes": "選択ノードを接続から外す", | ||||
| 		"delete-selection": "選択を削除", | ||||
| 		"delete-selection-and-reconnect": "選択を削除し再接続", | ||||
| 		"edit-selected-node": "選択したノードを編集", | ||||
| 		"go-to-selection": "選択に移動", | ||||
| 		"undo": "変更操作を戻す", | ||||
| 		"redo": "変更操作をやり直し", | ||||
| 		"select-all-nodes": "全てのノードを選択", | ||||
| 		"select-none": "ノードを選択", | ||||
| 		"enable-selected-nodes": "選択ノードを有効化", | ||||
| 		"disable-selected-nodes": "選択ノードを無効化", | ||||
| 		"toggle-show-grid": "グリッド表示切替", | ||||
| 		"toggle-snap-grid": "ノードの配置補助切替", | ||||
| 		"toggle-status": "ステータス表示切替", | ||||
| 		"show-selected-node-labels": "選択したノードのラベルを表示", | ||||
| 		"hide-selected-node-labels": "選択したノードのラベルを非表示", | ||||
| 		"scroll-view-up": "上スクロール", | ||||
| 		"scroll-view-right": "右スクロール", | ||||
| 		"scroll-view-down": "下スクロール", | ||||
| 		"scroll-view-left": "左スクロール", | ||||
| 		"step-view-up": "一単位上スクロール", | ||||
| 		"step-view-right": "一単位右スクロール", | ||||
| 		"step-view-down": "一単位下スクロール", | ||||
| 		"step-view-left": "一単位左スクロール", | ||||
| 		"move-selection-up": "選択を上移動", | ||||
| 		"move-selection-right": "選択を右移動", | ||||
| 		"move-selection-down": "選択を下移動", | ||||
| 		"move-selection-left": "選択を左移動", | ||||
| 		"move-selection-forwards": "選択を前面に移動", | ||||
| 		"move-selection-backwards": "選択を背面に移動", | ||||
| 		"move-selection-to-front": "選択を最前面に移動", | ||||
| 		"move-selection-to-back": "選択を最背面に移動", | ||||
| 		"step-selection-up": "選択を一単位上移動", | ||||
| 		"step-selection-right": "選択を一単位右移動", | ||||
| 		"step-selection-down": "選択を一単位下移動", | ||||
| 		"step-selection-left": "選択を一単位左移動", | ||||
| 		"select-connected-nodes": "接続されたノードを選択", | ||||
| 		"select-downstream-nodes": "後方に接続されたノードを選択", | ||||
| 		"select-upstream-nodes": "前方に接続されたノードを選択", | ||||
| 		"go-to-next-node": "次のノードに移動", | ||||
| 		"go-to-previous-node": "前のノードに移動", | ||||
| 		"go-to-next-sibling": "次の兄弟ノードに移動", | ||||
| 		"go-to-previous-sibling": "前の兄弟ノードに移動", | ||||
| 		"go-to-nearest-node-on-left": "最も近い左側ノードに移動", | ||||
| 		"go-to-nearest-node-on-right": "最も近い右側ノードに移動", | ||||
| 		"go-to-nearest-node-above": "最も近い上側ノードに移動", | ||||
| 		"go-to-nearest-node-below": "最も近い下側ノードに移動", | ||||
| 		"align-selection-to-grid": "選択を整列", | ||||
| 		"align-selection-to-left": "選択を左揃え", | ||||
| 		"align-selection-to-right": "選択を右揃え", | ||||
| 		"align-selection-to-top": "選択を上揃え", | ||||
| 		"align-selection-to-bottom": "選択を下揃え", | ||||
| 		"align-selection-to-middle": "選択を上下中央揃え", | ||||
| 		"align-selection-to-center": "選択を左右中央揃え", | ||||
| 		"distribute-selection-horizontally": "選択を左右に整列", | ||||
| 		"distribute-selection-vertically": "選択を上下に整列", | ||||
| 		"wire-series-of-nodes": "ノードを一続きに接続", | ||||
| 		"wire-node-to-multiple": "ノードを複数に接続", | ||||
| 		"show-user-settings": "ユーザ設定を表示", | ||||
| 		"show-help": "ヘルプを表示", | ||||
| 		"toggle-palette": "パレットの表示切替", | ||||
| 		"show-event-log": "イベントログを表示", | ||||
| 		"manage-palette": "パレットの管理", | ||||
| 		"toggle-sidebar": "サイドバーの表示切替", | ||||
| 		"show-info-tab": "ノード情報タブの表示", | ||||
| 		"show-help-tab": "ノードヘルプタブの表示", | ||||
| 		"show-config-tab": "設定ノードタブの表示", | ||||
| 		"select-all-config-nodes": "全ての設定ノードを選択", | ||||
| 		"delete-config-selection": "選択した設定ノードを削除", | ||||
| 		"show-context-tab": "コンテクキストデータタブを表示", | ||||
| 		"create-subflow": "サブフローを作成", | ||||
| 		"convert-to-subflow": "選択をサブフローに変換", | ||||
| 		"group-selection": "選択をグループ化", | ||||
| 		"ungroup-selection": "選択をグループ解除", | ||||
| 		"merge-selection-to-group": "選択をグループにマージ", | ||||
| 		"remove-selection-from-group": "選択をグループから削除", | ||||
| 		"copy-group-style": "グループのスタイルをコピー", | ||||
| 		"paste-group-style": "グループのスタイルを貼り付け", | ||||
| 		"show-export-dialog": "書き出しダイアログを表示", | ||||
| 		"show-import-dialog": "読み込みダイアログを表示", | ||||
| 		"show-library-export-dialog": "ライブラリ書き出しダイアログを表示", | ||||
| 		"show-library-import-dialog": "ライブラリ読み込みダイアログを表示", | ||||
| 		"show-examples-import-dialog": "サンプル読み込みダイアログを表示", | ||||
| 		"search": "検索", | ||||
| 		"show-action-list": "アクション一覧を表示", | ||||
| 		"confirm-edit-tray": "編集を完了", | ||||
| 		"cancel-edit-tray": "編集をキャンセル", | ||||
| 		"show-remote-diff": "リモートとの変更差分を表示", | ||||
| 		"deploy-flows": "フローをデプロイ", | ||||
| 		"restart-flows": "フローを再起動", | ||||
| 		"set-deploy-type-to-full": "デプロイを「全て」に設定", | ||||
| 		"set-deploy-type-to-modified-flows": "デプロイを「変更したフロー」に設定", | ||||
| 		"set-deploy-type-to-modified-nodes": "デプロイを「変更したノード」に設定", | ||||
| 		"show-debug-tab": "デバッグタブを表示", | ||||
| 		"clear-debug-messages": "デバッグメッセージをクリア", | ||||
| 		"clear-filtered-debug-messages": "フィルタしたデバッグメッセージをクリア", | ||||
| 		"activate-selected-debug-nodes": "選択したデバッグノードを有効化", | ||||
| 		"activate-all-debug-nodes": "全てのデバッグノードを有効化", | ||||
| 		"activate-all-flow-debug-nodes" : "フロー内の全デバッグノードを有効化", | ||||
| 		"deactivate-selected-debug-nodes": "選択したデバッグノードを無効化", | ||||
| 		"deactivate-all-debug-nodes": "全てのデバッグノードを無効化", | ||||
| 		"deactivate-all-flow-debug-nodes": "フロー内の全デバッグノードを無効化", | ||||
| 		"zoom-in": "ズームイン", | ||||
| 		"zoom-out": "ズームアウト", | ||||
|  		"zoom-reset": "ズームリセット", | ||||
| 		"toggle-navigator": "ナビゲータ表示切替" | ||||
|     } | ||||
| } | ||||
|   | ||||
| @@ -164,11 +164,26 @@ RED.actionList = (function() { | ||||
|             searchResults.editableList('empty'); | ||||
|             results = []; | ||||
|             var actions = RED.actions.list(); | ||||
|             actions.forEach(function (sc) { | ||||
|                 var id = sc.id.replace(/^.*:/,""); | ||||
|                 var key = "action-list."+id; | ||||
|                 var translation = RED._(key); | ||||
|                 if (translation !== key) { | ||||
|                     sc.translation = translation; | ||||
|                 } | ||||
|             }); | ||||
|             actions.sort(function(A,B) { | ||||
|                 return A.id.localeCompare(B.id); | ||||
|                 var Aid = A.translation ? A.translation : A.id; | ||||
|                 var Bid = B.translation ? B.translation : B.id; | ||||
|                 return Aid.localeCompare(Bid); | ||||
|             }); | ||||
|             actions.forEach(function(action) { | ||||
|                 action.label = action.id.replace(/:/,": ").replace(/-/g," ").replace(/(^| )./g,function() { return arguments[0].toUpperCase()}); | ||||
|                 if (action.translation) { | ||||
|                     action.label = action.translation; | ||||
|                 } | ||||
|                 else { | ||||
|                     action.label = action.id.replace(/:/,": ").replace(/-/g," ").replace(/(^| )./g,function() { return arguments[0].toUpperCase()}); | ||||
|                 } | ||||
|                 action._label = action.label.toLowerCase(); | ||||
|                 searchResults.editableList('addItem',action) | ||||
|             }) | ||||
|   | ||||
| @@ -588,13 +588,16 @@ RED.keyboard = (function() { | ||||
|         var item = $('<div class="keyboard-shortcut-entry">').appendTo(container); | ||||
|         container.data('data',object); | ||||
|  | ||||
|         var text = object.id.replace(/(^.+:([a-z]))|(-([a-z]))/g,function() { | ||||
|             if (arguments[5] === 0) { | ||||
|                 return arguments[2].toUpperCase(); | ||||
|             } else { | ||||
|                 return " "+arguments[4].toUpperCase(); | ||||
|             } | ||||
|         }); | ||||
|         var text = object.translation; | ||||
|         if (!object.translation) { | ||||
|             text = object.id.replace(/(^.+:([a-z]))|(-([a-z]))/g,function() { | ||||
|                 if (arguments[5] === 0) { | ||||
|                     return arguments[2].toUpperCase(); | ||||
|                 } else { | ||||
|                     return " "+arguments[4].toUpperCase(); | ||||
|                 } | ||||
|             }); | ||||
|         } | ||||
|         var label = $('<div>').addClass("keyboard-shortcut-entry-text").text(text).appendTo(item); | ||||
|  | ||||
|         var user = $('<i class="fa fa-user"></i>').prependTo(label); | ||||
| @@ -635,7 +638,14 @@ RED.keyboard = (function() { | ||||
|                 } else { | ||||
|                     filterValue = filterValue.replace(/\s/g,""); | ||||
|                     shortcutList.editableList('filter', function(data) { | ||||
|                         return data.id.toLowerCase().replace(/^.*:/,"").replace("-","").indexOf(filterValue) > -1; | ||||
|                         var label; | ||||
|                         if (data.translation) { | ||||
|                             label = data.translation.toLowerCase(); | ||||
|                         } | ||||
|                         else { | ||||
|                             label = data.id.toLowerCase().replace(/^.*:/,"").replace("-",""); | ||||
|                         } | ||||
|                         return label.indexOf(filterValue) > -1; | ||||
|                     }) | ||||
|                 } | ||||
|             } | ||||
| @@ -656,9 +666,24 @@ RED.keyboard = (function() { | ||||
|  | ||||
|         }); | ||||
|         var shortcuts = RED.actions.list(); | ||||
|         var missing = []; | ||||
|         shortcuts.forEach(function (sc) { | ||||
|             var id = sc.id.replace(/^.*:/,""); | ||||
|             var key = "action-list."+id; | ||||
|             var translation = RED._(key); | ||||
|  | ||||
|             if (translation !== key) { | ||||
|                 sc.translation = translation; | ||||
|             } | ||||
|             else { | ||||
|                 missing.push(id); | ||||
|             } | ||||
|         }); | ||||
|         // console.log("; missing:", missing); | ||||
|  | ||||
|         shortcuts.sort(function(A,B) { | ||||
|             var Aid = A.id.replace(/^.*:/,"").replace(/[ -]/g,"").toLowerCase(); | ||||
|             var Bid = B.id.replace(/^.*:/,"").replace(/[ -]/g,"").toLowerCase(); | ||||
|             var Aid = A.translation ? A.translation : A.id.replace(/^.*:/,"").replace(/[ -]/g,"").toLowerCase(); | ||||
|             var Bid = B.translation ? B.translation : B.id.replace(/^.*:/,"").replace(/[ -]/g,"").toLowerCase(); | ||||
|             return Aid.localeCompare(Bid); | ||||
|         }); | ||||
|         knownShortcuts = new Set(); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user