From f702fc7d93e76b09485a57dab0ad29bdc5190829 Mon Sep 17 00:00:00 2001 From: Bai Date: Mon, 6 Jan 2020 18:21:05 +0800 Subject: [PATCH] =?UTF-8?q?[Update]=20dateRange=E6=8F=92=E4=BB=B6=E6=94=AF?= =?UTF-8?q?=E6=8C=81i18n?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/static/js/jumpserver.js | 30 ++++++++++++++++--- apps/templates/_foot_js.html | 5 +--- .../templates/terminal/command_list.html | 2 +- .../templates/terminal/session_list.html | 2 +- 4 files changed, 29 insertions(+), 10 deletions(-) diff --git a/apps/static/js/jumpserver.js b/apps/static/js/jumpserver.js index d334d6c64..914390321 100644 --- a/apps/static/js/jumpserver.js +++ b/apps/static/js/jumpserver.js @@ -1237,7 +1237,7 @@ function toSafeDateISOStr(s) { function toSafeLocalDateStr(d) { var date = safeDate(d); - var date_s = date.toLocaleString(navigator.language, {hour12: false}); + var date_s = date.toLocaleString(getUserLang(), {hour12: false}); return date_s.split("/").join('-') } @@ -1257,7 +1257,7 @@ function getTimeUnits(u) { "m": "分", "s": "秒", }; - if (navigator.language === "zh-CN") { + if (getUserLang() === "zh-CN") { return units[u] } return u @@ -1395,6 +1395,16 @@ function showCeleryTaskLog(taskId) { window.open(url, '', 'width=900,height=600') } +function getUserLang(){ + let userLangZh = document.cookie.indexOf('django_language=zh'); + if (userLangZh !== -1){ + return 'zh-CN' + } + else{ + return 'en-US' + } +} + function initDateRangePicker(selector, options) { if (!options) { options = {} @@ -1408,6 +1418,15 @@ function initDateRangePicker(selector, options) { daysOfWeek: ["日", "一", "二", "三", "四", "五", "六"],//汉化处理 monthNames: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], }; + var enLocale = { + format: "YYYY-MM-DD HH:mm", + separator: " - ", + applyLabel: "Apply", + cancelLabel: "Cancel", + resetLabel: "Reset", + daysOfWeek: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"], + monthNames: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], + }; var defaultOption = { singleDatePicker: true, showDropdowns: true, @@ -1415,10 +1434,13 @@ function initDateRangePicker(selector, options) { timePicker24Hour: true, autoApply: true, }; - var userLang = navigator.language || navigator.userLanguage; - if (userLang.indexOf('zh') !== -1) { + if (getUserLang() === 'zh-CN') { defaultOption.locale = zhLocale; } + else{ + // en-US + defaultOption.locale = enLocale; + } options = Object.assign(defaultOption, options); return $(selector).daterangepicker(options); } diff --git a/apps/templates/_foot_js.html b/apps/templates/_foot_js.html index 22161696f..392b79ec0 100644 --- a/apps/templates/_foot_js.html +++ b/apps/templates/_foot_js.html @@ -18,9 +18,6 @@ $(document).ready(function(){ if ($('.tooltip')[0]) { $('.tooltip').tooltip(); } - var userLang = navigator.language || navigator.userLanguage; - if (userLang.indexOf('zh') !== -1) { - $.fn.select2.defaults.set('language', 'zh-CN') - } + $.fn.select2.defaults.set('language', getUserLang()) }); diff --git a/apps/terminal/templates/terminal/command_list.html b/apps/terminal/templates/terminal/command_list.html index 5e2dcddc9..0e5ba0a32 100644 --- a/apps/terminal/templates/terminal/command_list.html +++ b/apps/terminal/templates/terminal/command_list.html @@ -86,7 +86,7 @@ $(document).ready(function () { forceParse: false, calendarWeeks: true, autoclose: true, - language: navigator.language || "en", + language: getUserLang(), }; dateFromRef.datepicker(options).on("changeDate", function () { var value = $(this).val() + ' 0:0:0'; diff --git a/apps/terminal/templates/terminal/session_list.html b/apps/terminal/templates/terminal/session_list.html index 965b8f556..eee137084 100644 --- a/apps/terminal/templates/terminal/session_list.html +++ b/apps/terminal/templates/terminal/session_list.html @@ -193,7 +193,7 @@ $(document).ready(function() { forceParse: false, calendarWeeks: true, autoclose: true, - language: navigator.language || "en", + language: getUserLang(), }; dateFromRef.datepicker(options).on("changeDate", function () { if (!$(this).val()) {