From 7f35e2280e55fc7bec14a8299879cb007fd9eb9e Mon Sep 17 00:00:00 2001 From: Hiroyasu Nishiyama Date: Mon, 27 May 2019 11:28:36 +0900 Subject: [PATCH 1/2] update editor language selection UI for i18n --- .../editor-client/locales/en-US/editor.json | 7 +++++++ .../editor-client/locales/ja/editor.json | 11 ++++++++++- .../editor-client/src/js/ui/userSettings.js | 17 ++++++++++++++++- 3 files changed, 33 insertions(+), 2 deletions(-) diff --git a/packages/node_modules/@node-red/editor-client/locales/en-US/editor.json b/packages/node_modules/@node-red/editor-client/locales/en-US/editor.json index f5a3a0e8b..c35189b6c 100755 --- a/packages/node_modules/@node-red/editor-client/locales/en-US/editor.json +++ b/packages/node_modules/@node-red/editor-client/locales/en-US/editor.json @@ -929,5 +929,12 @@ "description": "Description", "appearance": "Appearance", "env": "Environment Variables" + }, + "languages" : { + "de": "German", + "en-US": "English", + "ja": "Japanese", + "ko": "Korean", + "zh-CN": "Chinese(Simplified)" } } diff --git a/packages/node_modules/@node-red/editor-client/locales/ja/editor.json b/packages/node_modules/@node-red/editor-client/locales/ja/editor.json index 83a00a06e..1ac94d28c 100755 --- a/packages/node_modules/@node-red/editor-client/locales/ja/editor.json +++ b/packages/node_modules/@node-red/editor-client/locales/ja/editor.json @@ -42,7 +42,9 @@ "defaultDir": "標準", "ltr": "左から右", "rtl": "右から左", - "auto": "文脈" + "auto": "文脈", + "language": "表示言語", + "browserDefault": "ブラウザのデフォルト" }, "sidebar": { "show": "サイドバーを表示" @@ -914,5 +916,12 @@ "description": "説明", "appearance": "外観", "env": "環境変数" + }, + "languages" : { + "de": "ドイツ語", + "en-US": "英語", + "ja": "日本語", + "ko": "韓国語", + "zh-CN": "中国語(簡体)" } } diff --git a/packages/node_modules/@node-red/editor-client/src/js/ui/userSettings.js b/packages/node_modules/@node-red/editor-client/src/js/ui/userSettings.js index e5c1500af..c4c4bcdec 100644 --- a/packages/node_modules/@node-red/editor-client/src/js/ui/userSettings.js +++ b/packages/node_modules/@node-red/editor-client/src/js/ui/userSettings.js @@ -101,10 +101,25 @@ RED.userSettings = (function() { RED.tray.show(trayOptions); } + function locale2Name(lc) { + var name = RED._("languages."+lc); + return {text: (name ? name : lc), val: lc}; + } + + function compText(a, b) { + if (a.text > b.text) { + return 1; + } + if (a.text < b.text) { + return -1; + } + return 0; + } + var viewSettings = [ { options: [ - {setting:"editor-language",local: true, label:"menu.label.view.language",options:function(done){ done([{val:'',text:RED._('menu.label.view.browserDefault')}].concat(RED.settings.theme("languages"))) }}, + {setting:"editor-language",local: true, label:"menu.label.view.language",options:function(done){ done([{val:'',text:RED._('menu.label.view.browserDefault')}].concat(RED.settings.theme("languages").map(locale2Name).sort(compText))) }}, ] },{ title: "menu.label.view.grid", From 10da894124dc0d82ebbf9fdc49f94760ecf82ff0 Mon Sep 17 00:00:00 2001 From: Hiroyasu Nishiyama Date: Tue, 28 May 2019 08:55:00 +0900 Subject: [PATCH 2/2] fix function name & string compare function --- .../editor-client/src/js/ui/userSettings.js | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/packages/node_modules/@node-red/editor-client/src/js/ui/userSettings.js b/packages/node_modules/@node-red/editor-client/src/js/ui/userSettings.js index c4c4bcdec..0bd241dfc 100644 --- a/packages/node_modules/@node-red/editor-client/src/js/ui/userSettings.js +++ b/packages/node_modules/@node-red/editor-client/src/js/ui/userSettings.js @@ -101,25 +101,19 @@ RED.userSettings = (function() { RED.tray.show(trayOptions); } - function locale2Name(lc) { + function localeToName(lc) { var name = RED._("languages."+lc); return {text: (name ? name : lc), val: lc}; } function compText(a, b) { - if (a.text > b.text) { - return 1; - } - if (a.text < b.text) { - return -1; - } - return 0; + return a.text.localeCompare(b.text); } var viewSettings = [ { options: [ - {setting:"editor-language",local: true, label:"menu.label.view.language",options:function(done){ done([{val:'',text:RED._('menu.label.view.browserDefault')}].concat(RED.settings.theme("languages").map(locale2Name).sort(compText))) }}, + {setting:"editor-language",local: true, label:"menu.label.view.language",options:function(done){ done([{val:'',text:RED._('menu.label.view.browserDefault')}].concat(RED.settings.theme("languages").map(localeToName).sort(compText))) }}, ] },{ title: "menu.label.view.grid",