More work on SMS integration, added Plivo support.
Ylian Saint-Hilaire committed
Apr 22, 2020 at 15:29 UTC
cefd6c98b3655d1f4d600ac79c44ceade1fee0b2
8 files changed
+1884
-1637
meshcentral.js
+1
@@ -2571,6 +2571,7 @@ function mainStart() {
2571
2572
// SMS support
2573
if ((config.sms != null) && (config.sms.provider == 'twilio')) { modules.push('twilio'); }
2574
+ if ((config.sms != null) && (config.sms.provider == 'plivo')) { modules.push('plivo'); }
2575
2576
// Syslog support
2577
if ((require('os').platform() != 'win32') && (config.settings.syslog || config.settings.syslogjson)) { modules.push('modern-syslog'); }
meshsms.js
+64
-3
@@ -14,6 +14,24 @@
14
/*jshint esversion: 6 */
15
"use strict";
16
17
+/*
18
+// For Twilio, add this in config.json
19
+"sms": {
20
+ "provider": "twilio",
21
+ "sid": "ACxxxxxxxxx",
22
+ "auth": "xxxxxxx",
23
+ "from": "+15555555555"
24
+},
25
+
26
+// For Plivo, add this in config.json
27
+"sms": {
28
+ "provider": "plivo",
29
+ "id": "xxxxxxx",
30
+ "token": "xxxxxxx",
31
+ "from": "15555555555"
32
+}
33
+*/
34
+
35
// Construct a MeshAgent object, called upon connection
36
module.exports.CreateMeshSMS = function (parent) {
37
var obj = {};
@@ -33,6 +51,17 @@ module.exports.CreateMeshSMS = function (parent) {
51
obj.provider = new Twilio(parent.config.sms.sid, parent.config.sms.auth);
52
break;
53
}
54
+ case 'plivo': {
55
+ // Validate Plivo configuration values
56
+ if (typeof parent.config.sms.id != 'string') { console.log('Invalid or missing SMS gateway provider id.'); return null; }
57
+ if (typeof parent.config.sms.token != 'string') { console.log('Invalid or missing SMS gateway provider token.'); return null; }
58
+ if (typeof parent.config.sms.from != 'string') { console.log('Invalid or missing SMS gateway provider from.'); return null; }
59
+
60
+ // Setup Twilio
61
+ var plivo = require('plivo');
62
+ obj.provider = new plivo.Client(parent.config.sms.id, parent.config.sms.token);
63
+ break;
64
+ }
65
default: {
66
// Unknown SMS gateway provider
67
console.log('Unknown SMS gateway provider: ' + parent.config.sms.provider);
@@ -43,15 +72,32 @@ module.exports.CreateMeshSMS = function (parent) {
72
// Send an SMS message
73
obj.sendSMS = function (to, msg, func) {
74
parent.debug('email', 'Sending SMS to: ' + to + ': ' + msg);
46
- if (parent.config.sms.provider == 'twilio') {
75
+ if (parent.config.sms.provider == 'twilio') { // Twilio
76
obj.provider.messages.create({
77
from: parent.config.sms.from,
78
to: to,
79
body: msg
80
}, function (err, result) {
52
- if (err != null) { parent.debug('email', 'SMS error: ' + JSON.stringify(err)); } else { parent.debug('email', 'SMS result: ' + JSON.stringify(result)); }
53
- if (func != null) { func((err == null) && (result.status == 'queued'), err, result); }
81
+ if (err != null) { parent.debug('email', 'SMS error: ' + err.message); } else { parent.debug('email', 'SMS result: ' + JSON.stringify(result)); }
82
+ if (func != null) { func((err == null) && (result.status == 'queued'), err ? err.message : null, result); }
83
});
84
+ } else if (parent.config.sms.provider == 'plivo') { // Plivo
85
+ if (to.split('-').join('').split(' ').join('').split('+').join('').length == 10) { to = '1' + to; } // If we only have 10 digits, add a 1 in front.
86
+ obj.provider.messages.create(
87
+ parent.config.sms.from,
88
+ to,
89
+ msg
90
+ ).then(function (result) {
91
+ parent.debug('email', 'SMS result: ' + JSON.stringify(result));
92
+ if (func != null) { func((result != null) && (result.messageUuid != null), null, result); }
93
+ }
94
+ ).catch(function (err) {
95
+ var msg = null;
96
+ if ((err != null) && err.message) { msg = JSON.parse(err.message).error; }
97
+ parent.debug('email', 'SMS error: ' + msg);
98
+ if (func != null) { func(false, msg, null); }
99
+ }
100
+ );
101
}
102
}
103
@@ -109,5 +155,20 @@ module.exports.CreateMeshSMS = function (parent) {
155
obj.sendSMS(phoneNumber, sms, func);
156
};
157
158
+ // Send phone number verification SMS
159
+ obj.sendToken = function (domain, phoneNumber, verificationCode, language, func) {
160
+ parent.debug('email', "Sending login token SMS to " + phoneNumber);
161
+
162
+ var sms = getTemplate(1, domain, language);
163
+ if (sms == null) { parent.debug('email', "Error: Failed to get SMS template"); return; } // No SMS template found
164
+
165
+ // Setup the template
166
+ sms = sms.split('[[0]]').join(domain.title ? domain.title : 'MeshCentral');
167
+ sms = sms.split('[[1]]').join(verificationCode);
168
+
169
+ // Send the SMS
170
+ obj.sendSMS(phoneNumber, sms, func);
171
+ };
172
+
173
return obj;
174
};
meshuser.js
+38
-20
@@ -762,8 +762,12 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
762
if (cmdargs['_'].length != 2) {
763
r = "Usage: SMS \"PhoneNumber\" \"Message\".";
764
} else {
765
- parent.parent.smsserver.sendSMS(cmdargs['_'][0], cmdargs['_'][1], function (status) {
766
- try { ws.send(JSON.stringify({ action: 'serverconsole', value: status?'Success':'Failed', tag: command.tag })); } catch (ex) { }
765
+ parent.parent.smsserver.sendSMS(cmdargs['_'][0], cmdargs['_'][1], function (status, msg) {
766
+ if (typeof msg == 'string') {
767
+ try { ws.send(JSON.stringify({ action: 'serverconsole', value: status ? ('Success: ' + msg) : ('Failed: ' + msg), tag: command.tag })); } catch (ex) { }
768
+ } else {
769
+ try { ws.send(JSON.stringify({ action: 'serverconsole', value: status ? 'Success' : 'Failed', tag: command.tag })); } catch (ex) { }
770
+ }
771
});
772
}
773
}
@@ -3713,9 +3717,7 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
3717
if (parent.parent.smsserver == null) return;
3718
if (common.validateString(command.phone, 1, 18) == false) break; // Check phone length
3719
if (command.phone.match(/^\(?([0-9]{3})\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$/) == false) break; // Check phone
3716
- const code = getRandomEightDigitInteger();
3717
-
3718
- // TODO: We need limit how many times we can guess the code
3720
+ const code = common.zeroPad(getRandomSixDigitInteger(), 6)
3721
const phoneCookie = parent.parent.encodeCookie({ a: 'verifyPhone', c: code, p: command.phone, s: ws.sessionId });
3722
parent.parent.smsserver.sendPhoneCheck(domain, command.phone, code, parent.getLanguageCodes(req), function (success) {
3723
ws.send(JSON.stringify({ action: 'verifyPhone', cookie: phoneCookie, success: success }));
@@ -3723,11 +3725,19 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
3725
break;
3726
}
3727
case 'confirmPhone': {
3726
- if ((parent.parent.smsserver == null) || (typeof command.cookie != 'string') || (typeof command.code != 'number')) break; // Input checks
3728
+ if ((parent.parent.smsserver == null) || (typeof command.cookie != 'string') || (typeof command.code != 'string') || (obj.failedSmsCookieCheck == 1)) break; // Input checks
3729
var cookie = parent.parent.decodeCookie(command.cookie);
3730
if (cookie == null) break; // Invalid cookie
3731
if (cookie.s != ws.sessionId) break; // Invalid session
3730
- if (cookie.c != command.code) { ws.send(JSON.stringify({ action: 'verifyPhone', cookie: command.cookie, success: true })); break; } // Code does not match
3732
+ if (cookie.c != command.code) {
3733
+ obj.failedSmsCookieCheck = 1;
3734
+ // Code does not match, delay the response to limit how many guesses we can make and don't allow more than 1 guess at any given time.
3735
+ setTimeout(function () {
3736
+ ws.send(JSON.stringify({ action: 'verifyPhone', cookie: command.cookie, success: true }));
3737
+ delete obj.failedSmsCookieCheck;
3738
+ }, 2000 + (parent.crypto.randomBytes(2).readUInt16BE(0) % 4095));
3739
+ break;
3740
+ }
3741
3742
// Set the user's phone
3743
user.phone = cookie.p;
@@ -3755,14 +3765,25 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
3765
break;
3766
}
3767
case 'smsuser': { // Send a SMS message to a user
3758
- if (parent.parent.smsserver == null) break;
3759
- if ((user.siteadmin & 2) == 0) break;
3760
- if (common.validateString(command.userid, 1, 2048) == false) break;
3761
- if (common.validateString(command.msg, 1, 160) == false) break;
3762
- var smsuser = parent.users[command.userid];
3763
- if ((smsuser == null) || (smsuser.phone == null)) break;
3764
- parent.parent.smsserver.sendSMS(smsuser.phone, command.msg, function (success) {
3765
- // TODO
3768
+ var errMsg = null, smsuser = null;
3769
+ if (parent.parent.smsserver == null) { errMsg = 'SMS gateway not enabled'; }
3770
+ else if ((user.siteadmin & 2) == 0) { errMsg = 'No user management rights'; }
3771
+ else if (common.validateString(command.userid, 1, 2048) == false) { errMsg = 'Invalid userid'; }
3772
+ else if (common.validateString(command.msg, 1, 160) == false) { errMsg = 'Invalid SMS message'; }
3773
+ else {
3774
+ smsuser = parent.users[command.userid];
3775
+ if (smsuser == null) { errMsg = 'Invalid userid'; }
3776
+ else if (smsuser.phone == null) { errMsg = 'No phone number for this user'; }
3777
+ }
3778
+
3779
+ if (errMsg != null) { displayNotificationMessage(errMsg); break; }
3780
+
3781
+ parent.parent.smsserver.sendSMS(smsuser.phone, command.msg, function (success, msg) {
3782
+ if (success) {
3783
+ displayNotificationMessage('SMS succesfuly sent.');
3784
+ } else {
3785
+ if (typeof msg == 'string') { displayNotificationMessage('SMS error: ' + msg); } else { displayNotificationMessage('SMS error'); }
3786
+ }
3787
});
3788
break;
3789
}
@@ -4179,11 +4200,8 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
4200
}
4201
4202
// Generate a 8 digit integer with even random probability for each value.
4182
- function getRandomEightDigitInteger() {
4183
- var bigInt;
4184
- do { bigInt = parent.crypto.randomBytes(4).readUInt32BE(0); } while (bigInt >= 4200000000);
4185
- return bigInt % 100000000;
4186
- }
4203
+ function getRandomEightDigitInteger() { var bigInt; do { bigInt = parent.crypto.randomBytes(4).readUInt32BE(0); } while (bigInt >= 4200000000); return bigInt % 100000000; }
4204
+ function getRandomSixDigitInteger() { var bigInt; do { bigInt = parent.crypto.randomBytes(4).readUInt32BE(0); } while (bigInt >= 4200000000); return bigInt % 1000000; }
4205
4206
// Parse arguments string array into an object
4207
function parseArgs(argv) {
sample-config.json
+12
@@ -178,5 +178,17 @@
178
"_tlscertcheck": false,
179
"__tlsstrict__": "When set to true, TLS cypher setup is more limited, SSLv2 and SSLv3 are not allowed.",
180
"_tlsstrict": true
181
+ },
182
+ "_sms": {
183
+ "provider": "twilio",
184
+ "sid": "ACxxxxxxxxx",
185
+ "auth": "xxxxxxx",
186
+ "from": "+1-555-555-5555"
187
+ },
188
+ "__sms": {
189
+ "provider": "plivo",
190
+ "id": "xxxxxxx",
191
+ "token": "xxxxxxx",
192
+ "from": "1-555-555-5555"
193
}
194
}
translate/translate.json
+1677
-1594
@@ -14,8 +14,8 @@
14
"ru": " + CIRA",
15
"zh-chs": " + CIRA",
16
"xloc": [
17
- "default.handlebars->29->1135",
18
- "default.handlebars->29->1137"
17
+ "default.handlebars->29->1142",
18
+ "default.handlebars->29->1144"
19
]
20
},
21
{
@@ -174,7 +174,7 @@
174
"ru": " Может быть использована подсказка пароля, но не рекоммендуется.",
175
"zh-chs": " 可以使用密碼提示,但不建議使用。",
176
"xloc": [
177
- "default.handlebars->29->1064"
177
+ "default.handlebars->29->1071"
178
]
179
},
180
{
@@ -191,8 +191,8 @@
191
"ru": " Для добавления в группу устройств, пользователь должен зайти на сервер хотя бы один раз.",
192
"zh-chs": " 用戶需要先登錄到該服務器一次,然後才能將其添加到設備組。",
193
"xloc": [
194
- "default.handlebars->29->1210",
195
- "default.handlebars->29->1509"
194
+ "default.handlebars->29->1217",
195
+ "default.handlebars->29->1518"
196
]
197
},
198
{
@@ -209,7 +209,7 @@
209
"ru": " и задайте указанное ниже имя пользователя и любой пароль.",
210
"zh-chs": " 並使用該用戶名和任何密碼對服務器進行身份驗證。",
211
"xloc": [
212
- "default.handlebars->29->257"
212
+ "default.handlebars->29->259"
213
]
214
},
215
{
@@ -226,7 +226,7 @@
226
"ru": " и задайте указанные ниже имя пользователя и пароль.",
227
"zh-chs": " 並使用該用戶名和密碼向服務器驗證身份。",
228
"xloc": [
229
- "default.handlebars->29->256"
229
+ "default.handlebars->29->258"
230
]
231
},
232
{
@@ -277,7 +277,7 @@
277
"ru": " с TLS.",
278
"zh-chs": " TLS。",
279
"xloc": [
280
- "default.handlebars->29->151"
280
+ "default.handlebars->29->153"
281
]
282
},
283
{
@@ -294,7 +294,7 @@
294
"ru": " без TLS",
295
"zh-chs": " 沒有TLS。",
296
"xloc": [
297
- "default.handlebars->29->152"
297
+ "default.handlebars->29->154"
298
]
299
},
300
{
@@ -326,7 +326,7 @@
326
"ru": "(необязательно)",
327
"zh-chs": "(可選的)",
328
"xloc": [
329
- "default.handlebars->29->296"
329
+ "default.handlebars->29->298"
330
]
331
},
332
{
@@ -358,7 +358,7 @@
358
"ru": "* Для BSD сначала запустите \\\"pkg install wget sudo bash\\\".",
359
"zh-chs": "*對於BSD,首先運行 “pkg install wget sudo bash”。",
360
"xloc": [
361
- "default.handlebars->29->329"
361
+ "default.handlebars->29->331"
362
]
363
},
364
{
@@ -375,7 +375,7 @@
375
"ru": "* Оставьте пустым для установления случайного пароля каждому устройству.",
376
"zh-chs": "*保留空白以為每個設備分配一個隨機密碼。",
377
"xloc": [
378
- "default.handlebars->29->1182"
378
+ "default.handlebars->29->1189"
379
]
380
},
381
{
@@ -408,7 +408,7 @@
408
"zh-chs": ",",
409
"xloc": [
410
"default-mobile.handlebars->9->331",
411
- "default.handlebars->29->1276"
411
+ "default.handlebars->29->1283"
412
]
413
},
414
{
@@ -426,7 +426,7 @@
426
"zh-chs": ",僅限Intel®AMT",
427
"xloc": [
428
"default-mobile.handlebars->9->95",
429
- "default.handlebars->29->169"
429
+ "default.handlebars->29->171"
430
]
431
},
432
{
@@ -443,7 +443,7 @@
443
"ru": ", MQTT онлайн",
444
"zh-chs": ",MQTT在線",
445
"xloc": [
446
- "default.handlebars->29->813"
446
+ "default.handlebars->29->815"
447
]
448
},
449
{
@@ -460,7 +460,7 @@
460
"ru": ", Soft-KVM",
461
"zh-chs": ",軟KVM",
462
"xloc": [
463
- "default.handlebars->29->672"
463
+ "default.handlebars->29->674"
464
]
465
},
466
{
@@ -479,9 +479,9 @@
479
"xloc": [
480
"default-mobile.handlebars->9->231",
481
"default-mobile.handlebars->9->239",
482
- "default.handlebars->29->673",
483
- "default.handlebars->29->704",
484
- "default.handlebars->29->716",
482
+ "default.handlebars->29->675",
483
+ "default.handlebars->29->706",
484
+ "default.handlebars->29->718",
485
"xterm.handlebars->9->6"
486
]
487
},
@@ -604,9 +604,9 @@
604
"xloc": [
605
"default-mobile.handlebars->9->244",
606
"default-mobile.handlebars->9->70",
607
- "default.handlebars->29->1317",
608
- "default.handlebars->29->1615",
609
- "default.handlebars->29->718"
607
+ "default.handlebars->29->1324",
608
+ "default.handlebars->29->1628",
609
+ "default.handlebars->29->720"
610
]
611
},
612
{
@@ -654,7 +654,7 @@
654
"ru": "1 активная сессия",
655
"zh-chs": "1個活動會話",
656
"xloc": [
657
- "default.handlebars->29->1564"
657
+ "default.handlebars->29->1577"
658
]
659
},
660
{
@@ -673,7 +673,7 @@
673
"xloc": [
674
"default-mobile.handlebars->9->335",
675
"default-mobile.handlebars->9->80",
676
- "default.handlebars->29->1336"
676
+ "default.handlebars->29->1343"
677
]
678
},
679
{
@@ -690,9 +690,9 @@
690
"ru": "1 день",
691
"zh-chs": "1天",
692
"xloc": [
693
- "default.handlebars->29->159",
694
- "default.handlebars->29->287",
695
- "default.handlebars->29->301"
693
+ "default.handlebars->29->161",
694
+ "default.handlebars->29->289",
695
+ "default.handlebars->29->303"
696
]
697
},
698
{
@@ -709,7 +709,7 @@
709
"ru": "1 группа",
710
"zh-chs": "1組",
711
"xloc": [
712
- "default.handlebars->29->1534"
712
+ "default.handlebars->29->1544"
713
]
714
},
715
{
@@ -726,9 +726,9 @@
726
"ru": "1 час",
727
"zh-chs": "1小時",
728
"xloc": [
729
- "default.handlebars->29->157",
730
- "default.handlebars->29->285",
731
- "default.handlebars->29->299"
729
+ "default.handlebars->29->159",
730
+ "default.handlebars->29->287",
731
+ "default.handlebars->29->301"
732
]
733
},
734
{
@@ -762,9 +762,9 @@
762
"ru": "1 месяц",
763
"zh-chs": "1個月",
764
"xloc": [
765
- "default.handlebars->29->161",
766
- "default.handlebars->29->289",
767
- "default.handlebars->29->303"
765
+ "default.handlebars->29->163",
766
+ "default.handlebars->29->291",
767
+ "default.handlebars->29->305"
768
]
769
},
770
{
@@ -781,7 +781,7 @@
781
"ru": "Еще 1 пользователь не показан, используйте поиск чтобы найти пользователей...",
782
"zh-chs": "未再顯示1個用戶,請使用搜索框查找用戶...",
783
"xloc": [
784
- "default.handlebars->29->1371"
784
+ "default.handlebars->29->1378"
785
]
786
},
787
{
@@ -798,7 +798,7 @@
798
"ru": "1 устройство",
799
"zh-chs": "1個節點",
800
"xloc": [
801
- "default.handlebars->29->343"
801
+ "default.handlebars->29->345"
802
]
803
},
804
{
@@ -832,7 +832,7 @@
832
"ru": "1 сессия",
833
"zh-chs": "1節",
834
"xloc": [
835
- "default.handlebars->29->1375"
835
+ "default.handlebars->29->1382"
836
]
837
},
838
{
@@ -849,9 +849,9 @@
849
"ru": "1 неделя",
850
"zh-chs": "1週",
851
"xloc": [
852
- "default.handlebars->29->160",
853
- "default.handlebars->29->288",
854
- "default.handlebars->29->302"
852
+ "default.handlebars->29->162",
853
+ "default.handlebars->29->290",
854
+ "default.handlebars->29->304"
855
]
856
},
857
{
@@ -1100,8 +1100,8 @@
1100
"ru": "двухфакторная аутентификация включена",
1101
"zh-chs": "啟用第二因素身份驗證",
1102
"xloc": [
1103
- "default.handlebars->29->1388",
1104
- "default.handlebars->29->1555"
1103
+ "default.handlebars->29->1395",
1104
+ "default.handlebars->29->1566"
1105
]
1106
},
1107
{
@@ -1202,8 +1202,8 @@
1202
"ru": "32-разрядная версия MeshAgent",
1203
"zh-chs": "MeshAgent的32位版本",
1204
"xloc": [
1205
- "default.handlebars->29->319",
1206
- "default.handlebars->29->336"
1205
+ "default.handlebars->29->321",
1206
+ "default.handlebars->29->338"
1207
]
1208
},
1209
{
@@ -1416,7 +1416,7 @@
1416
"ru": "64-битная версия MacOS Mesh Agent",
1417
"zh-chs": "64位版本的MacOS Mesh Agent",
1418
"xloc": [
1419
- "default.handlebars->29->332"
1419
+ "default.handlebars->29->334"
1420
]
1421
},
1422
{
@@ -1433,8 +1433,8 @@
1433
"ru": "64-разрядная версия MeshAgent",
1434
"zh-chs": "MeshAgent的64位版本",
1435
"xloc": [
1436
- "default.handlebars->29->323",
1437
- "default.handlebars->29->339"
1436
+ "default.handlebars->29->325",
1437
+ "default.handlebars->29->341"
1438
]
1439
},
1440
{
@@ -1465,7 +1465,7 @@
1465
"ru": "7-дневная статистика работы",
1466
"zh-chs": "7天電源狀態",
1467
"xloc": [
1468
- "default.handlebars->29->612"
1468
+ "default.handlebars->29->614"
1469
]
1470
},
1471
{
@@ -1518,8 +1518,8 @@
1518
"ru": "8 часов",
1519
"zh-chs": "8小時",
1520
"xloc": [
1521
- "default.handlebars->29->286",
1522
- "default.handlebars->29->300"
1521
+ "default.handlebars->29->288",
1522
+ "default.handlebars->29->302"
1523
]
1524
},
1525
{
@@ -1705,7 +1705,7 @@
1705
"zh-chs": "ACM",
1706
"xloc": [
1707
"default-mobile.handlebars->9->185",
1708
- "default.handlebars->29->473"
1708
+ "default.handlebars->29->475"
1709
]
1710
},
1711
{
@@ -1722,8 +1722,8 @@
1722
"ru": "AMT",
1723
"zh-chs": "AMT",
1724
"xloc": [
1725
- "default.handlebars->29->178",
1726
- "default.handlebars->29->371"
1725
+ "default.handlebars->29->180",
1726
+ "default.handlebars->29->373"
1727
]
1728
},
1729
{
@@ -1812,7 +1812,7 @@
1812
"ru": "Отказано в доступе",
1813
"zh-chs": "拒絕訪問",
1814
"xloc": [
1815
- "default.handlebars->29->814"
1815
+ "default.handlebars->29->816"
1816
]
1817
},
1818
{
@@ -1830,7 +1830,7 @@
1830
"zh-chs": "拒絕訪問。",
1831
"xloc": [
1832
"login-mobile.handlebars->5->15",
1833
- "login.handlebars->5->15"
1833
+ "login.handlebars->5->16"
1834
]
1835
},
1836
{
@@ -1847,7 +1847,7 @@
1847
"ru": "Доступ к файлам сервера",
1848
"zh-chs": "訪問服務器文件",
1849
"xloc": [
1850
- "default.handlebars->29->1515"
1850
+ "default.handlebars->29->1524"
1851
]
1852
},
1853
{
@@ -1922,10 +1922,10 @@
1922
"default-mobile.handlebars->9->55",
1923
"default-mobile.handlebars->9->57",
1924
"default-mobile.handlebars->container->page_content->column_l->p3->p3info->1->p3AccountActions->1->0",
1925
- "default.handlebars->29->1073",
1926
- "default.handlebars->29->1075",
1927
- "default.handlebars->29->445",
1928
- "default.handlebars->29->447"
1925
+ "default.handlebars->29->1080",
1926
+ "default.handlebars->29->1082",
1927
+ "default.handlebars->29->447",
1928
+ "default.handlebars->29->449"
1929
]
1930
},
1931
{
@@ -1956,8 +1956,8 @@
1956
"ru": "Аккаунт заблокирован",
1957
"zh-chs": "帐户已被锁定",
1958
"xloc": [
1959
- "default.handlebars->29->1389",
1960
- "default.handlebars->29->1512"
1959
+ "default.handlebars->29->1397",
1960
+ "default.handlebars->29->1521"
1961
]
1962
},
1963
{
@@ -1975,7 +1975,7 @@
1975
"zh-chs": "達到帳戶限制。",
1976
"xloc": [
1977
"login-mobile.handlebars->5->5",
1978
- "login.handlebars->5->5"
1978
+ "login.handlebars->5->6"
1979
]
1980
},
1981
{
@@ -1993,7 +1993,7 @@
1993
"zh-chs": "帳戶被鎖定。",
1994
"xloc": [
1995
"login-mobile.handlebars->5->14",
1996
- "login.handlebars->5->14"
1996
+ "login.handlebars->5->15"
1997
]
1998
},
1999
{
@@ -2011,7 +2011,7 @@
2011
"zh-chs": "找不到帳戶。",
2012
"xloc": [
2013
"login-mobile.handlebars->5->11",
2014
- "login.handlebars->5->11"
2014
+ "login.handlebars->5->12"
2015
]
2016
},
2017
{
@@ -2045,7 +2045,7 @@
2045
"ru": "Действиe",
2046
"zh-chs": "行動",
2047
"xloc": [
2048
- "default.handlebars->29->819",
2048
+ "default.handlebars->29->821",
2049
"default.handlebars->container->column_l->p42->p42tbl->1->0->8"
2050
]
2051
},
@@ -2063,8 +2063,8 @@
2063
"ru": "Файл действий",
2064
"zh-chs": "動作文件",
2065
"xloc": [
2066
- "default.handlebars->29->653",
2067
- "default.handlebars->29->655"
2066
+ "default.handlebars->29->655",
2067
+ "default.handlebars->29->657"
2068
]
2069
},
2070
{
@@ -2083,7 +2083,7 @@
2083
"xloc": [
2084
"default-mobile.handlebars->container->page_content->column_l->p10->p10desktop->deskarea4->1->3",
2085
"default-mobile.handlebars->container->page_content->column_l->p10->p10files->p13toolbar->1->0->1->1",
2086
- "default.handlebars->29->517",
2086
+ "default.handlebars->29->519",
2087
"default.handlebars->container->column_l->p11->deskarea0->deskarea1->1",
2088
"default.handlebars->container->column_l->p12->termTable->1->1->0->1->1",
2089
"default.handlebars->container->column_l->p13->p13toolbar->1->0->1->1"
@@ -2139,9 +2139,9 @@
2139
"xloc": [
2140
"default-mobile.handlebars->9->180",
2141
"default-mobile.handlebars->9->182",
2142
- "default.handlebars->29->466",
2142
"default.handlebars->29->468",
2144
- "default.handlebars->29->784"
2143
+ "default.handlebars->29->470",
2144
+ "default.handlebars->29->786"
2145
]
2146
},
2147
{
@@ -2158,10 +2158,10 @@
2158
"ru": "Активация",
2159
"zh-chs": "激活",
2160
"xloc": [
2161
- "default.handlebars->29->1148",
2162
- "default.handlebars->29->1150",
2163
- "default.handlebars->29->220",
2164
- "default.handlebars->29->222"
2161
+ "default.handlebars->29->1155",
2162
+ "default.handlebars->29->1157",
2163
+ "default.handlebars->29->222",
2164
+ "default.handlebars->29->224"
2165
]
2166
},
2167
{
@@ -2178,7 +2178,7 @@
2178
"ru": "Активный пользователь",
2179
"zh-chs": "活動用戶{0}",
2180
"xloc": [
2181
- "default.handlebars->29->492"
2181
+ "default.handlebars->29->494"
2182
]
2183
},
2184
{
@@ -2195,8 +2195,8 @@
2195
"ru": "Добавить агент",
2196
"zh-chs": "添加代理",
2197
"xloc": [
2198
- "default.handlebars->29->1152",
2199
- "default.handlebars->29->224"
2198
+ "default.handlebars->29->1159",
2199
+ "default.handlebars->29->226"
2200
]
2201
},
2202
{
@@ -2213,7 +2213,7 @@
2213
"ru": "Добавить CIRA",
2214
"zh-chs": "添加CIRA",
2215
"xloc": [
2216
- "default.handlebars->29->214"
2216
+ "default.handlebars->29->216"
2217
]
2218
},
2219
{
@@ -2230,8 +2230,8 @@
2230
"ru": "Добавить устройство",
2231
"zh-chs": "添加設備",
2232
"xloc": [
2233
- "default.handlebars->29->1489",
2234
- "default.handlebars->29->1593"
2233
+ "default.handlebars->29->1498",
2234
+ "default.handlebars->29->1606"
2235
]
2236
},
2237
{
@@ -2248,7 +2248,7 @@
2248
"ru": "Добавить событие к устройству",
2249
"zh-chs": "添加設備事件",
2250
"xloc": [
2251
- "default.handlebars->29->595"
2251
+ "default.handlebars->29->597"
2252
]
2253
},
2254
{
@@ -2265,10 +2265,10 @@
2265
"ru": "Добавить группу устройств",
2266
"zh-chs": "添加設備組",
2267
"xloc": [
2268
- "default.handlebars->29->1242",
2269
- "default.handlebars->29->1483",
2270
- "default.handlebars->29->1581",
2271
- "default.handlebars->29->195"
2268
+ "default.handlebars->29->1249",
2269
+ "default.handlebars->29->1492",
2270
+ "default.handlebars->29->1594",
2271
+ "default.handlebars->29->197"
2272
]
2273
},
2274
{
@@ -2276,7 +2276,7 @@
2276
"en": "Add Device Group Permissions",
2277
"nl": "Machtigingen voor apparaatgroep toevoegen",
2278
"xloc": [
2279
- "default.handlebars->29->1239"
2279
+ "default.handlebars->29->1246"
2280
]
2281
},
2282
{
@@ -2290,8 +2290,8 @@
2290
"ru": "Добавить разрешения для устройства",
2291
"zh-chs": "添加设备权限",
2292
"xloc": [
2293
- "default.handlebars->29->1244",
2294
- "default.handlebars->29->1246"
2293
+ "default.handlebars->29->1251",
2294
+ "default.handlebars->29->1253"
2295
]
2296
},
2297
{
@@ -2308,7 +2308,7 @@
2308
"ru": "Добавить Intel® AMT CIRA устройство",
2309
"zh-chs": "添加英特爾®AMT CIRA設備",
2310
"xloc": [
2311
- "default.handlebars->29->270"
2311
+ "default.handlebars->29->272"
2312
]
2313
},
2314
{
@@ -2325,7 +2325,7 @@
2325
"ru": "Добавить Intel® AMT устройство",
2326
"zh-chs": "添加英特爾®AMT設備",
2327
"xloc": [
2328
- "default.handlebars->29->237"
2328
+ "default.handlebars->29->239"
2329
]
2330
},
2331
{
@@ -2359,7 +2359,7 @@
2359
"ru": "Добавить локально",
2360
"zh-chs": "添加本地",
2361
"xloc": [
2362
- "default.handlebars->29->216"
2362
+ "default.handlebars->29->218"
2363
]
2364
},
2365
{
@@ -2376,7 +2376,7 @@
2376
"ru": "Добавить участие",
2377
"zh-chs": "添加會員",
2378
"xloc": [
2379
- "default.handlebars->29->1611"
2379
+ "default.handlebars->29->1624"
2380
]
2381
},
2382
{
@@ -2393,7 +2393,7 @@
2393
"ru": "Добавить Mesh Agent",
2394
"zh-chs": "添加網格代理",
2395
"xloc": [
2396
- "default.handlebars->29->342"
2396
+ "default.handlebars->29->344"
2397
]
2398
},
2399
{
@@ -2414,8 +2414,8 @@
2414
"default.handlebars->29->135",
2415
"default.handlebars->29->138",
2416
"default.handlebars->29->139",
2417
- "default.handlebars->29->841",
2418
- "default.handlebars->29->842"
2417
+ "default.handlebars->29->848",
2418
+ "default.handlebars->29->849"
2419
]
2420
},
2421
{
@@ -2433,7 +2433,7 @@
2433
"zh-chs": "添加用戶",
2434
"xloc": [
2435
"default-mobile.handlebars->9->281",
2436
- "default.handlebars->29->552"
2436
+ "default.handlebars->29->554"
2437
]
2438
},
2439
{
@@ -2447,7 +2447,7 @@
2447
"ru": "Добавить разрешения для пользовательских устройств",
2448
"zh-chs": "添加用户设备权限",
2449
"xloc": [
2450
- "default.handlebars->29->1249"
2450
+ "default.handlebars->29->1256"
2451
]
2452
},
2453
{
@@ -2464,10 +2464,10 @@
2464
"ru": "Добавить группу пользователей",
2465
"zh-chs": "添加用戶組",
2466
"xloc": [
2467
- "default.handlebars->29->1142",
2468
- "default.handlebars->29->1241",
2469
- "default.handlebars->29->1587",
2470
- "default.handlebars->29->553"
2467
+ "default.handlebars->29->1149",
2468
+ "default.handlebars->29->1248",
2469
+ "default.handlebars->29->1600",
2470
+ "default.handlebars->29->555"
2471
]
2472
},
2473
{
@@ -2475,7 +2475,7 @@
2475
"en": "Add User Group Device Permissions",
2476
"nl": "Gebruikersmachtigingen voor apparaatgroep toevoegen",
2477
"xloc": [
2478
- "default.handlebars->29->1251"
2478
+ "default.handlebars->29->1258"
2479
]
2480
},
2481
{
@@ -2514,8 +2514,8 @@
2514
"ru": "Добавить пользователей",
2515
"zh-chs": "添加用戶",
2516
"xloc": [
2517
- "default.handlebars->29->1141",
2518
- "default.handlebars->29->1478"
2517
+ "default.handlebars->29->1148",
2518
+ "default.handlebars->29->1487"
2519
]
2520
},
2521
{
@@ -2532,7 +2532,7 @@
2532
"ru": "Добавить пользователей в группу устройств",
2533
"zh-chs": "將用戶添加到設備組",
2534
"xloc": [
2535
- "default.handlebars->29->1238"
2535
+ "default.handlebars->29->1245"
2536
]
2537
},
2538
{
@@ -2549,7 +2549,7 @@
2549
"ru": "Добавить пользователей в группу",
2550
"zh-chs": "將用戶添加到用戶組",
2551
"xloc": [
2552
- "default.handlebars->29->1511"
2552
+ "default.handlebars->29->1520"
2553
]
2554
},
2555
{
@@ -2583,7 +2583,7 @@
2583
"ru": "Добавить новый Intel® AMT компьютер сканированием локальной сети.",
2584
"zh-chs": "通過掃描本地網絡添加新的英特爾®AMT計算機。",
2585
"xloc": [
2586
- "default.handlebars->29->217"
2586
+ "default.handlebars->29->219"
2587
]
2588
},
2589
{
@@ -2600,8 +2600,8 @@
2600
"ru": "Добавить новый Intel® AMT компьютер, находящийся в интернете.",
2601
"zh-chs": "添加位於互聯網上的新英特爾®AMT計算機。",
2602
"xloc": [
2603
- "default.handlebars->29->1143",
2604
- "default.handlebars->29->213"
2603
+ "default.handlebars->29->1150",
2604
+ "default.handlebars->29->215"
2605
]
2606
},
2607
{
@@ -2618,8 +2618,8 @@
2618
"ru": "Добавить новый Intel® AMT компьютер, находящийся в локальной сети.",
2619
"zh-chs": "添加位於本地網絡上的新英特爾®AMT計算機。",
2620
"xloc": [
2621
- "default.handlebars->29->1145",
2622
- "default.handlebars->29->215"
2621
+ "default.handlebars->29->1152",
2622
+ "default.handlebars->29->217"
2623
]
2624
},
2625
{
@@ -2636,7 +2636,7 @@
2636
"ru": "Добавить новое Intel® AMT устройство к группе устройств \\\"{0}\\\".",
2637
"zh-chs": "將新的英特爾®AMT設備添加到設備組“{0}”。",
2638
"xloc": [
2639
- "default.handlebars->29->227"
2639
+ "default.handlebars->29->229"
2640
]
2641
},
2642
{
@@ -2644,8 +2644,8 @@
2644
"en": "Add a new computer to this device group by installing the mesh agent.",
2645
"nl": "Voeg een nieuwe computer toe aan deze apparaatgroep door de mesh-agent te installeren.",
2646
"xloc": [
2647
- "default.handlebars->29->1151",
2648
- "default.handlebars->29->223"
2647
+ "default.handlebars->29->1158",
2648
+ "default.handlebars->29->225"
2649
]
2650
},
2651
{
@@ -2662,7 +2662,7 @@
2662
"ru": "Адрес",
2663
"zh-chs": "地址",
2664
"xloc": [
2665
- "default.handlebars->29->191"
2665
+ "default.handlebars->29->193"
2666
]
2667
},
2668
{
@@ -2696,7 +2696,7 @@
2696
"ru": "Режим управления администратора (ACM)",
2697
"zh-chs": "管理員控制模式(ACM)",
2698
"xloc": [
2699
- "default.handlebars->29->786"
2699
+ "default.handlebars->29->788"
2700
]
2701
},
2702
{
@@ -2713,7 +2713,7 @@
2713
"ru": "Учетные данные администратора",
2714
"zh-chs": "管理員憑證",
2715
"xloc": [
2716
- "default.handlebars->29->792"
2716
+ "default.handlebars->29->794"
2717
]
2718
},
2719
{
@@ -2748,7 +2748,7 @@
2748
"ru": "Области администратора",
2749
"zh-chs": "管理領域",
2750
"xloc": [
2751
- "default.handlebars->29->1538"
2751
+ "default.handlebars->29->1548"
2752
]
2753
},
2754
{
@@ -2783,7 +2783,7 @@
2783
"ru": "Административные области",
2784
"zh-chs": "行政領域",
2785
"xloc": [
2786
- "default.handlebars->29->1436"
2786
+ "default.handlebars->29->1445"
2787
]
2788
},
2789
{
@@ -2800,7 +2800,7 @@
2800
"ru": "Администратор",
2801
"zh-chs": "管理員",
2802
"xloc": [
2803
- "default.handlebars->29->1382"
2803
+ "default.handlebars->29->1389"
2804
]
2805
},
2806
{
@@ -2817,7 +2817,7 @@
2817
"ru": "Африканский",
2818
"zh-chs": "南非語",
2819
"xloc": [
2820
- "default.handlebars->29->844"
2820
+ "default.handlebars->29->851"
2821
]
2822
},
2823
{
@@ -2837,10 +2837,10 @@
2837
"default-mobile.handlebars->9->124",
2838
"default-mobile.handlebars->9->177",
2839
"default-mobile.handlebars->9->193",
2840
- "default.handlebars->29->1303",
2841
- "default.handlebars->29->1311",
2842
- "default.handlebars->29->174",
2843
- "default.handlebars->29->367",
2840
+ "default.handlebars->29->1310",
2841
+ "default.handlebars->29->1318",
2842
+ "default.handlebars->29->176",
2843
+ "default.handlebars->29->369",
2844
"default.handlebars->container->column_l->p15->consoleTable->1->6->1->1->1->0->p15outputselecttd->p15outputselect->1"
2845
]
2846
},
@@ -2858,8 +2858,8 @@
2858
"ru": "Агент + Intel AMT",
2859
"zh-chs": "代理+英特爾AMT",
2860
"xloc": [
2861
- "default.handlebars->29->1305",
2862
- "default.handlebars->29->1313"
2861
+ "default.handlebars->29->1312",
2862
+ "default.handlebars->29->1320"
2863
]
2864
},
2865
{
@@ -2894,7 +2894,7 @@
2894
"zh-chs": "代理控制台",
2895
"xloc": [
2896
"default-mobile.handlebars->9->316",
2897
- "default.handlebars->29->1259"
2897
+ "default.handlebars->29->1266"
2898
]
2899
},
2900
{
@@ -2911,7 +2911,7 @@
2911
"ru": "Счетчик ошибок агента",
2912
"zh-chs": "座席錯誤計數器",
2913
"xloc": [
2914
- "default.handlebars->29->1625"
2914
+ "default.handlebars->29->1638"
2915
]
2916
},
2917
{
@@ -2980,7 +2980,7 @@
2980
"ru": "Сессии агентов",
2981
"zh-chs": "座席會議",
2982
"xloc": [
2983
- "default.handlebars->29->1641"
2983
+ "default.handlebars->29->1654"
2984
]
2985
},
2986
{
@@ -2998,7 +2998,7 @@
2998
"zh-chs": "代理商標籤",
2999
"xloc": [
3000
"default-mobile.handlebars->9->192",
3001
- "default.handlebars->29->485"
3001
+ "default.handlebars->29->487"
3002
]
3003
},
3004
{
@@ -3015,7 +3015,7 @@
3015
"ru": "Типы агента",
3016
"zh-chs": "代理類型",
3017
"xloc": [
3018
- "default.handlebars->29->1309",
3018
+ "default.handlebars->29->1316",
3019
"default.handlebars->container->column_l->p21->3->1->meshOsChartDiv->1"
3020
]
3021
},
@@ -3033,9 +3033,9 @@
3033
"ru": "Агент подключен",
3034
"zh-chs": "代理已連接",
3035
"xloc": [
3036
- "default.handlebars->29->141",
3037
- "default.handlebars->29->543",
3038
- "default.handlebars->29->544"
3036
+ "default.handlebars->29->143",
3037
+ "default.handlebars->29->545",
3038
+ "default.handlebars->29->546"
3039
]
3040
},
3041
{
@@ -3052,7 +3052,7 @@
3052
"ru": "Агент отключился",
3053
"zh-chs": "代理已斷開連接",
3054
"xloc": [
3055
- "default.handlebars->29->145"
3055
+ "default.handlebars->29->147"
3056
]
3057
},
3058
{
@@ -3069,7 +3069,7 @@
3069
"ru": "Агент оффлайн",
3070
"zh-chs": "代理離線",
3071
"xloc": [
3072
- "default.handlebars->29->812"
3072
+ "default.handlebars->29->814"
3073
]
3074
},
3075
{
@@ -3086,7 +3086,7 @@
3086
"ru": "Агент онлайн",
3087
"zh-chs": "代理在線",
3088
"xloc": [
3089
- "default.handlebars->29->811"
3089
+ "default.handlebars->29->813"
3090
]
3091
},
3092
{
@@ -3103,7 +3103,7 @@
3103
"ru": "Агенты",
3104
"zh-chs": "代理商",
3105
"xloc": [
3106
- "default.handlebars->29->1654"
3106
+ "default.handlebars->29->1667"
3107
]
3108
},
3109
{
@@ -3120,7 +3120,7 @@
3120
"ru": "Албанский",
3121
"zh-chs": "阿爾巴尼亞語",
3122
"xloc": [
3123
- "default.handlebars->29->845"
3123
+ "default.handlebars->29->852"
3124
]
3125
},
3126
{
@@ -3173,9 +3173,9 @@
3173
"ru": "Фокусирование всех",
3174
"zh-chs": "全部聚焦",
3175
"xloc": [
3176
- "default.handlebars->29->674",
3176
"default.handlebars->29->676",
3178
- "default.handlebars->29->677"
3177
+ "default.handlebars->29->678",
3178
+ "default.handlebars->29->679"
3179
]
3180
},
3181
{
@@ -3192,8 +3192,8 @@
3192
"ru": "Разрешить пользователям управлять этой группой и устройствами этой группы.",
3193
"zh-chs": "允許用戶管理此設備組和該組中的設備。",
3194
"xloc": [
3195
- "default.handlebars->29->1208",
3196
- "default.handlebars->29->1508"
3195
+ "default.handlebars->29->1215",
3196
+ "default.handlebars->29->1517"
3197
]
3198
},
3199
{
@@ -3207,7 +3207,7 @@
3207
"ru": "Разрешить пользователям управлять этим устройством.",
3208
"zh-chs": "允许用户管理此设备。",
3209
"xloc": [
3210
- "default.handlebars->29->1209"
3210
+ "default.handlebars->29->1216"
3211
]
3212
},
3213
{
@@ -3260,7 +3260,7 @@
3260
"ru": "Поменять (F10 = ESC+0)",
3261
"zh-chs": "備用(F10 = ESC + 0)",
3262
"xloc": [
3263
- "default.handlebars->29->709"
3263
+ "default.handlebars->29->711"
3264
]
3265
},
3266
{
@@ -3294,9 +3294,9 @@
3294
"ru": "Всегда уведомлять",
3295
"zh-chs": "始終通知",
3296
"xloc": [
3297
- "default.handlebars->29->1122",
3298
- "default.handlebars->29->1547",
3299
- "default.handlebars->29->501"
3297
+ "default.handlebars->29->1129",
3298
+ "default.handlebars->29->1557",
3299
+ "default.handlebars->29->503"
3300
]
3301
},
3302
{
@@ -3313,9 +3313,9 @@
3313
"ru": "Всегда запрашивать",
3314
"zh-chs": "總是提示",
3315
"xloc": [
3316
- "default.handlebars->29->1123",
3317
- "default.handlebars->29->1548",
3318
- "default.handlebars->29->502"
3316
+ "default.handlebars->29->1130",
3317
+ "default.handlebars->29->1558",
3318
+ "default.handlebars->29->504"
3319
]
3320
},
3321
{
@@ -3420,7 +3420,7 @@
3420
"ru": "Антивирус",
3421
"zh-chs": "防毒軟件",
3422
"xloc": [
3423
- "default.handlebars->29->491"
3423
+ "default.handlebars->29->493"
3424
]
3425
},
3426
{
@@ -3437,7 +3437,7 @@
3437
"ru": "Любые поддерживаемые",
3438
"zh-chs": "任何支持",
3439
"xloc": [
3440
- "default.handlebars->29->280"
3440
+ "default.handlebars->29->282"
3441
]
3442
},
3443
{
@@ -3454,7 +3454,7 @@
3454
"ru": "Apple MacOS",
3455
"zh-chs": "蘋果MacOS",
3456
"xloc": [
3457
- "default.handlebars->29->310"
3457
+ "default.handlebars->29->312"
3458
]
3459
},
3460
{
@@ -3471,7 +3471,7 @@
3471
"ru": "Только Apple MacOS",
3472
"zh-chs": "僅限Apple MacOS",
3473
"xloc": [
3474
- "default.handlebars->29->282"
3474
+ "default.handlebars->29->284"
3475
]
3476
},
3477
{
@@ -3505,7 +3505,7 @@
3505
"ru": "Арабский (Алжир)",
3506
"zh-chs": "阿拉伯文(阿爾及利亞)",
3507
"xloc": [
3508
- "default.handlebars->29->847"
3508
+ "default.handlebars->29->854"
3509
]
3510
},
3511
{
@@ -3522,7 +3522,7 @@
3522
"ru": "Арабский (Бахрейн)",
3523
"zh-chs": "阿拉伯文(巴林)",
3524
"xloc": [
3525
- "default.handlebars->29->848"
3525
+ "default.handlebars->29->855"
3526
]
3527
},
3528
{
@@ -3539,7 +3539,7 @@
3539
"ru": "Арабский (Египет)",
3540
"zh-chs": "阿拉伯文(埃及)",
3541
"xloc": [
3542
- "default.handlebars->29->849"
3542
+ "default.handlebars->29->856"
3543
]
3544
},
3545
{
@@ -3556,7 +3556,7 @@
3556
"ru": "Арабский (Ирак)",
3557
"zh-chs": "阿拉伯文(伊拉克)",
3558
"xloc": [
3559
- "default.handlebars->29->850"
3559
+ "default.handlebars->29->857"
3560
]
3561
},
3562
{
@@ -3573,7 +3573,7 @@
3573
"ru": "Арабский (Иордания)",
3574
"zh-chs": "阿拉伯語(約旦)",
3575
"xloc": [
3576
- "default.handlebars->29->851"
3576
+ "default.handlebars->29->858"
3577
]
3578
},
3579
{
@@ -3590,7 +3590,7 @@
3590
"ru": "Арабский (Кувейт)",
3591
"zh-chs": "阿拉伯文(科威特)",
3592
"xloc": [
3593
- "default.handlebars->29->852"
3593
+ "default.handlebars->29->859"
3594
]
3595
},
3596
{
@@ -3607,7 +3607,7 @@
3607
"ru": "Арабский (Ливан)",
3608
"zh-chs": "阿拉伯語(黎巴嫩)",
3609
"xloc": [
3610
- "default.handlebars->29->853"
3610
+ "default.handlebars->29->860"
3611
]
3612
},
3613
{
@@ -3624,7 +3624,7 @@
3624
"ru": "Арабский (Ливия)",
3625
"zh-chs": "阿拉伯文(利比亞)",
3626
"xloc": [
3627
- "default.handlebars->29->854"
3627
+ "default.handlebars->29->861"
3628
]
3629
},
3630
{
@@ -3641,7 +3641,7 @@
3641
"ru": "Арабский (Марокко)",
3642
"zh-chs": "阿拉伯文(摩洛哥)",
3643
"xloc": [
3644
- "default.handlebars->29->855"
3644
+ "default.handlebars->29->862"
3645
]
3646
},
3647
{
@@ -3658,7 +3658,7 @@
3658
"ru": "Арабский (Оман)",
3659
"zh-chs": "阿拉伯文(阿曼)",
3660
"xloc": [
3661
- "default.handlebars->29->856"
3661
+ "default.handlebars->29->863"
3662
]
3663
},
3664
{
@@ -3675,7 +3675,7 @@
3675
"ru": "Арабский (Катар)",
3676
"zh-chs": "阿拉伯語(卡塔爾)",
3677
"xloc": [
3678
- "default.handlebars->29->857"
3678
+ "default.handlebars->29->864"
3679
]
3680
},
3681
{
@@ -3692,7 +3692,7 @@
3692
"ru": "Арабский (Саудовская Аравия)",
3693
"zh-chs": "阿拉伯語(沙特阿拉伯)",
3694
"xloc": [
3695
- "default.handlebars->29->858"
3695
+ "default.handlebars->29->865"
3696
]
3697
},
3698
{
@@ -3709,7 +3709,7 @@
3709
"ru": "Арабский (стандартный)",
3710
"zh-chs": "阿拉伯語(標準)",
3711
"xloc": [
3712
- "default.handlebars->29->846"
3712
+ "default.handlebars->29->853"
3713
]
3714
},
3715
{
@@ -3726,7 +3726,7 @@
3726
"ru": "Арабский (Сирия)",
3727
"zh-chs": "阿拉伯語(敘利亞)",
3728
"xloc": [
3729
- "default.handlebars->29->859"
3729
+ "default.handlebars->29->866"
3730
]
3731
},
3732
{
@@ -3743,7 +3743,7 @@
3743
"ru": "Арабский (Тунис)",
3744
"zh-chs": "阿拉伯文(突尼斯)",
3745
"xloc": [
3746
- "default.handlebars->29->860"
3746
+ "default.handlebars->29->867"
3747
]
3748
},
3749
{
@@ -3760,7 +3760,7 @@
3760
"ru": "Арабский (О.А.Э.)",
3761
"zh-chs": "阿拉伯文(阿聯酋)",
3762
"xloc": [
3763
- "default.handlebars->29->861"
3763
+ "default.handlebars->29->868"
3764
]
3765
},
3766
{
@@ -3777,7 +3777,7 @@
3777
"ru": "Арабский (Йемен)",
3778
"zh-chs": "阿拉伯文(也門)",
3779
"xloc": [
3780
- "default.handlebars->29->862"
3780
+ "default.handlebars->29->869"
3781
]
3782
},
3783
{
@@ -3794,7 +3794,7 @@
3794
"ru": "Арагонский",
3795
"zh-chs": "阿拉貢人",
3796
"xloc": [
3797
- "default.handlebars->29->863"
3797
+ "default.handlebars->29->870"
3798
]
3799
},
3800
{
@@ -3811,7 +3811,7 @@
3811
"ru": "Архитектура",
3812
"zh-chs": "建築",
3813
"xloc": [
3814
- "default.handlebars->29->760"
3814
+ "default.handlebars->29->762"
3815
]
3816
},
3817
{
@@ -3828,7 +3828,7 @@
3828
"ru": "Вы действительно хотите подключиться к {0} устройствам?",
3829
"zh-chs": "您確定要連接到{0}設備嗎?",
3830
"xloc": [
3831
- "default.handlebars->29->208"
3831
+ "default.handlebars->29->210"
3832
]
3833
},
3834
{
@@ -3846,7 +3846,7 @@
3846
"zh-chs": "您確定要刪除組{0}嗎?刪除設備組還將刪除該組中有關設備的所有信息。",
3847
"xloc": [
3848
"default-mobile.handlebars->9->287",
3849
- "default.handlebars->29->1186"
3849
+ "default.handlebars->29->1193"
3850
]
3851
},
3852
{
@@ -3863,7 +3863,7 @@
3863
"ru": "Вы действительно хотите удалить устройство \\\"{0}\\\"?",
3864
"zh-chs": "您確定要刪除節點{0}嗎?",
3865
"xloc": [
3866
- "default.handlebars->29->634"
3866
+ "default.handlebars->29->636"
3867
]
3868
},
3869
{
@@ -3880,7 +3880,7 @@
3880
"ru": "Вы действительно хотите деинсталировать выбранного агента?",
3881
"zh-chs": "您確定要卸載所選代理嗎?",
3882
"xloc": [
3883
- "default.handlebars->29->623"
3883
+ "default.handlebars->29->625"
3884
]
3885
},
3886
{
@@ -3897,7 +3897,7 @@
3897
"ru": "Вы действительно хотите деинсталлировать выбранных {0} агентов?",
3898
"zh-chs": "您確定要卸載所選的{0}代理嗎?",
3899
"xloc": [
3900
- "default.handlebars->29->622"
3900
+ "default.handlebars->29->624"
3901
]
3902
},
3903
{
@@ -3914,7 +3914,7 @@
3914
"ru": "Вы уверенны, что {0} плагин: {1}",
3915
"zh-chs": "您確定要{0}插件嗎:{1}",
3916
"xloc": [
3917
- "default.handlebars->29->1694"
3917
+ "default.handlebars->29->1707"
3918
]
3919
},
3920
{
@@ -3931,7 +3931,7 @@
3931
"ru": "Армянский",
3932
"zh-chs": "亞美尼亞人",
3933
"xloc": [
3934
- "default.handlebars->29->864"
3934
+ "default.handlebars->29->871"
3935
]
3936
},
3937
{
@@ -3964,7 +3964,7 @@
3964
"ru": "Ассамский",
3965
"zh-chs": "阿薩姆語",
3966
"xloc": [
3967
- "default.handlebars->29->865"
3967
+ "default.handlebars->29->872"
3968
]
3969
},
3970
{
@@ -3981,7 +3981,7 @@
3981
"ru": "Астурии",
3982
"zh-chs": "阿斯圖里亞斯人",
3983
"xloc": [
3984
- "default.handlebars->29->866"
3984
+ "default.handlebars->29->873"
3985
]
3986
},
3987
{
@@ -3998,7 +3998,7 @@
3998
"ru": "Приложение аутентификации",
3999
"zh-chs": "身份驗證應用",
4000
"xloc": [
4001
- "default.handlebars->29->1551"
4001
+ "default.handlebars->29->1561"
4002
]
4003
},
4004
{
@@ -4021,8 +4021,8 @@
4021
"default-mobile.handlebars->9->35",
4022
"default.handlebars->29->109",
4023
"default.handlebars->29->114",
4024
- "default.handlebars->29->830",
4025
- "default.handlebars->29->832"
4024
+ "default.handlebars->29->837",
4025
+ "default.handlebars->29->839"
4026
]
4027
},
4028
{
@@ -4090,7 +4090,7 @@
4090
"ru": "Автоудаление",
4091
"zh-chs": "自動刪除",
4092
"xloc": [
4093
- "default.handlebars->29->1110"
4093
+ "default.handlebars->29->1117"
4094
]
4095
},
4096
{
@@ -4144,7 +4144,7 @@
4144
"ru": "Азербайджанский",
4145
"zh-chs": "阿塞拜疆",
4146
"xloc": [
4147
- "default.handlebars->29->867"
4147
+ "default.handlebars->29->874"
4148
]
4149
},
4150
{
@@ -4161,7 +4161,7 @@
4161
"ru": "BIOS",
4162
"zh-chs": "的BIOS",
4163
"xloc": [
4164
- "default.handlebars->29->798"
4164
+ "default.handlebars->29->800"
4165
]
4166
},
4167
{
@@ -4241,7 +4241,7 @@
4241
"ru": "Фоновый и интерактивный",
4242
"zh-chs": "背景與互動",
4243
"xloc": [
4244
- "default.handlebars->29->314"
4244
+ "default.handlebars->29->316"
4245
]
4246
},
4247
{
@@ -4258,9 +4258,9 @@
4258
"ru": "Фоновый и интерактивный",
4259
"zh-chs": "背景與互動",
4260
"xloc": [
4261
- "default.handlebars->29->1286",
4261
"default.handlebars->29->1293",
4263
- "default.handlebars->29->292"
4262
+ "default.handlebars->29->1300",
4263
+ "default.handlebars->29->294"
4264
]
4265
},
4266
{
@@ -4277,10 +4277,10 @@
4277
"ru": "Только фоновый",
4278
"zh-chs": "僅背景",
4279
"xloc": [
4280
- "default.handlebars->29->1287",
4280
"default.handlebars->29->1294",
4282
- "default.handlebars->29->293",
4283
- "default.handlebars->29->315"
4281
+ "default.handlebars->29->1301",
4282
+ "default.handlebars->29->295",
4283
+ "default.handlebars->29->317"
4284
]
4285
},
4286
{
@@ -4314,7 +4314,7 @@
4314
"ru": "Резервные коды",
4315
"zh-chs": "備用碼",
4316
"xloc": [
4317
- "default.handlebars->29->1553"
4317
+ "default.handlebars->29->1563"
4318
]
4319
},
4320
{
@@ -4331,7 +4331,7 @@
4331
"ru": "Плохой ключ",
4332
"zh-chs": "錯誤的簽名",
4333
"xloc": [
4334
- "default.handlebars->29->1632"
4334
+ "default.handlebars->29->1645"
4335
]
4336
},
4337
{
@@ -4348,7 +4348,7 @@
4348
"ru": "Плохой веб-сертификат",
4349
"zh-chs": "錯誤的網絡證書",
4350
"xloc": [
4351
- "default.handlebars->29->1631"
4351
+ "default.handlebars->29->1644"
4352
]
4353
},
4354
{
@@ -4365,7 +4365,7 @@
4365
"ru": "Баскский",
4366
"zh-chs": "巴斯克",
4367
"xloc": [
4368
- "default.handlebars->29->868"
4368
+ "default.handlebars->29->875"
4369
]
4370
},
4371
{
@@ -4399,7 +4399,7 @@
4399
"ru": "Белорусский",
4400
"zh-chs": "白俄羅斯語",
4401
"xloc": [
4402
- "default.handlebars->29->870"
4402
+ "default.handlebars->29->877"
4403
]
4404
},
4405
{
@@ -4416,7 +4416,7 @@
4416
"ru": "Бенгальский",
4417
"zh-chs": "孟加拉",
4418
"xloc": [
4419
- "default.handlebars->29->871"
4419
+ "default.handlebars->29->878"
4420
]
4421
},
4422
{
@@ -4450,7 +4450,7 @@
4450
"ru": "Боснийский",
4451
"zh-chs": "波斯尼亞人",
4452
"xloc": [
4453
- "default.handlebars->29->872"
4453
+ "default.handlebars->29->879"
4454
]
4455
},
4456
{
@@ -4467,7 +4467,7 @@
4467
"ru": "Бретонский",
4468
"zh-chs": "布列塔尼",
4469
"xloc": [
4470
- "default.handlebars->29->873"
4470
+ "default.handlebars->29->880"
4471
]
4472
},
4473
{
@@ -4484,7 +4484,7 @@
4484
"ru": "Отправить сообщение",
4485
"zh-chs": "廣播",
4486
"xloc": [
4487
- "default.handlebars->29->1476",
4487
+ "default.handlebars->29->1485",
4488
"default.handlebars->container->column_l->p4->3->1->0->3->1"
4489
]
4490
},
@@ -4502,7 +4502,7 @@
4502
"ru": "Отправить сообщение",
4503
"zh-chs": "廣播消息",
4504
"xloc": [
4505
- "default.handlebars->29->1421"
4505
+ "default.handlebars->29->1430"
4506
]
4507
},
4508
{
@@ -4519,7 +4519,7 @@
4519
"ru": "Отправить сообщение всем подключенным пользователям.",
4520
"zh-chs": "向所有連接的用戶廣播消息。",
4521
"xloc": [
4522
- "default.handlebars->29->1420"
4522
+ "default.handlebars->29->1429"
4523
]
4524
},
4525
{
@@ -4536,7 +4536,7 @@
4536
"ru": "Болгарский",
4537
"zh-chs": "保加利亞語",
4538
"xloc": [
4539
- "default.handlebars->29->869"
4539
+ "default.handlebars->29->876"
4540
]
4541
},
4542
{
@@ -4553,7 +4553,7 @@
4553
"ru": "Бирманский",
4554
"zh-chs": "緬甸人",
4555
"xloc": [
4556
- "default.handlebars->29->874"
4556
+ "default.handlebars->29->881"
4557
]
4558
},
4559
{
@@ -4571,7 +4571,7 @@
4571
"zh-chs": "CCM",
4572
"xloc": [
4573
"default-mobile.handlebars->9->184",
4574
- "default.handlebars->29->471"
4574
+ "default.handlebars->29->473"
4575
]
4576
},
4577
{
@@ -4589,10 +4589,10 @@
4589
"zh-chs": "CIRA",
4590
"xloc": [
4591
"default-mobile.handlebars->9->125",
4592
- "default.handlebars->29->1174",
4593
- "default.handlebars->29->1179",
4594
- "default.handlebars->29->176",
4595
- "default.handlebars->29->369"
4592
+ "default.handlebars->29->1181",
4593
+ "default.handlebars->29->1186",
4594
+ "default.handlebars->29->178",
4595
+ "default.handlebars->29->371"
4596
]
4597
},
4598
{
@@ -4609,7 +4609,7 @@
4609
"ru": "CIRA Сервер",
4610
"zh-chs": "CIRA服務器",
4611
"xloc": [
4612
- "default.handlebars->29->1682"
4612
+ "default.handlebars->29->1695"
4613
]
4614
},
4615
{
@@ -4626,7 +4626,7 @@
4626
"ru": "CIRA Сервер команды",
4627
"zh-chs": "CIRA服務器命令",
4628
"xloc": [
4629
- "default.handlebars->29->1683"
4629
+ "default.handlebars->29->1696"
4630
]
4631
},
4632
{
@@ -4643,7 +4643,7 @@
4643
"ru": "Загрузка CPU",
4644
"zh-chs": "CPU負載",
4645
"xloc": [
4646
- "default.handlebars->29->1646"
4646
+ "default.handlebars->29->1659"
4647
]
4648
},
4649
{
@@ -4660,7 +4660,7 @@
4660
"ru": "Загрузка CPU за последние 15 минут",
4661
"zh-chs": "最近15分鐘的CPU負載",
4662
"xloc": [
4663
- "default.handlebars->29->1649"
4663
+ "default.handlebars->29->1662"
4664
]
4665
},
4666
{
@@ -4677,7 +4677,7 @@
4677
"ru": "Загрузка CPU за последние 5 минут",
4678
"zh-chs": "最近5分鐘的CPU負載",
4679
"xloc": [
4680
- "default.handlebars->29->1648"
4680
+ "default.handlebars->29->1661"
4681
]
4682
},
4683
{
@@ -4694,7 +4694,7 @@
4694
"ru": "Загрузка CPU за последнюю минуту",
4695
"zh-chs": "最後一分鐘的CPU負載",
4696
"xloc": [
4697
- "default.handlebars->29->1647"
4697
+ "default.handlebars->29->1660"
4698
]
4699
},
4700
{
@@ -4711,8 +4711,8 @@
4711
"ru": "CR+LF",
4712
"zh-chs": "CR +低頻",
4713
"xloc": [
4714
- "default.handlebars->29->702",
4715
- "default.handlebars->29->711",
4714
+ "default.handlebars->29->704",
4715
+ "default.handlebars->29->713",
4716
"default.handlebars->container->column_l->p12->termTable->1->1->6->1->1->terminalSettingsButtons"
4717
]
4718
},
@@ -4730,9 +4730,9 @@
4730
"ru": "Формат CSV",
4731
"zh-chs": "CSV格式",
4732
"xloc": [
4733
- "default.handlebars->29->1357",
4734
- "default.handlebars->29->1412",
4735
- "default.handlebars->29->396"
4733
+ "default.handlebars->29->1364",
4734
+ "default.handlebars->29->1421",
4735
+ "default.handlebars->29->398"
4736
]
4737
},
4738
{
@@ -4749,7 +4749,7 @@
4749
"ru": "Ошибка вызова",
4750
"zh-chs": "通話錯誤",
4751
"xloc": [
4752
- "default.handlebars->29->1695"
4752
+ "default.handlebars->29->1708"
4753
]
4754
},
4755
{
@@ -4768,7 +4768,7 @@
4768
"xloc": [
4769
"default-mobile.handlebars->9->44",
4770
"default-mobile.handlebars->dialog->idx_dlgButtonBar",
4771
- "default.handlebars->29->1094",
4771
+ "default.handlebars->29->1101",
4772
"default.handlebars->container->dialog->idx_dlgButtonBar",
4773
"login-mobile.handlebars->dialog->idx_dlgButtonBar",
4774
"login.handlebars->dialog->idx_dlgButtonBar",
@@ -4790,7 +4790,7 @@
4790
"ru": "Объем / Скорость",
4791
"zh-chs": "容量/速度",
4792
"xloc": [
4793
- "default.handlebars->29->805"
4793
+ "default.handlebars->29->807"
4794
]
4795
},
4796
{
@@ -4807,7 +4807,7 @@
4807
"ru": "Каталонский",
4808
"zh-chs": "加泰羅尼亞語",
4809
"xloc": [
4810
- "default.handlebars->29->875"
4810
+ "default.handlebars->29->882"
4811
]
4812
},
4813
{
@@ -4824,7 +4824,7 @@
4824
"ru": "Установить центр карты здесь",
4825
"zh-chs": "中心地圖在這裡",
4826
"xloc": [
4827
- "default.handlebars->29->436"
4827
+ "default.handlebars->29->438"
4828
]
4829
},
4830
{
@@ -4841,7 +4841,7 @@
4841
"ru": "Чаморро",
4842
"zh-chs": "查莫羅",
4843
"xloc": [
4844
- "default.handlebars->29->876"
4844
+ "default.handlebars->29->883"
4845
]
4846
},
4847
{
@@ -4865,7 +4865,7 @@
4865
"ru": "Смена email для {0}",
4866
"zh-chs": "更改{0}的電子郵件",
4867
"xloc": [
4868
- "default.handlebars->29->1570"
4868
+ "default.handlebars->29->1583"
4869
]
4870
},
4871
{
@@ -4882,9 +4882,9 @@
4882
"ru": "Смена группы",
4883
"zh-chs": "變更組",
4884
"xloc": [
4885
- "default.handlebars->29->524",
4886
- "default.handlebars->29->631",
4887
- "default.handlebars->29->632"
4885
+ "default.handlebars->29->526",
4886
+ "default.handlebars->29->633",
4887
+ "default.handlebars->29->634"
4888
]
4889
},
4890
{
@@ -4902,8 +4902,8 @@
4902
"zh-chs": "更改密碼",
4903
"xloc": [
4904
"default-mobile.handlebars->9->52",
4905
- "default.handlebars->29->1070",
4906
- "default.handlebars->29->1563"
4905
+ "default.handlebars->29->1077",
4906
+ "default.handlebars->29->1576"
4907
]
4908
},
4909
{
@@ -4920,7 +4920,7 @@
4920
"ru": "Смена пароля для {0}",
4921
"zh-chs": "更改{0}的密碼",
4922
"xloc": [
4923
- "default.handlebars->29->1577"
4923
+ "default.handlebars->29->1590"
4924
]
4925
},
4926
{
@@ -4990,7 +4990,7 @@
4990
"ru": "Изменить пароль для этого пользователя",
4991
"zh-chs": "更改該用戶的密碼",
4992
"xloc": [
4993
- "default.handlebars->29->1562"
4993
+ "default.handlebars->29->1575"
4994
]
4995
},
4996
{
@@ -5024,7 +5024,7 @@
5024
"ru": "Измените адрес электронной почты вашей учетной записи здесь.",
5025
"zh-chs": "在此處更改您的帳戶電子郵件地址。",
5026
"xloc": [
5027
- "default.handlebars->29->1057"
5027
+ "default.handlebars->29->1064"
5028
]
5029
},
5030
{
@@ -5041,7 +5041,7 @@
5041
"ru": "Измените пароль своей учетной записи, введя старый пароль и дважды новый пароль в поля ниже.",
5042
"zh-chs": "在下面的框中兩次輸入舊密碼和新密碼,以更改帳戶密碼。",
5043
"xloc": [
5044
- "default.handlebars->29->1063"
5044
+ "default.handlebars->29->1070"
5045
]
5046
},
5047
{
@@ -5058,7 +5058,7 @@
5058
"ru": "Изменение языка потребует перезагрузить страницу.",
5059
"zh-chs": "更改語言將需要刷新頁面。",
5060
"xloc": [
5061
- "default.handlebars->29->1042"
5061
+ "default.handlebars->29->1049"
5062
]
5063
},
5064
{
@@ -5075,9 +5075,9 @@
5075
"ru": "Чат",
5076
"zh-chs": "聊天室",
5077
"xloc": [
5078
- "default.handlebars->29->1374",
5079
- "default.handlebars->29->573",
5080
- "default.handlebars->29->592"
5078
+ "default.handlebars->29->1381",
5079
+ "default.handlebars->29->575",
5080
+ "default.handlebars->29->594"
5081
]
5082
},
5083
{
@@ -5096,8 +5096,8 @@
5096
"xloc": [
5097
"default-mobile.handlebars->9->308",
5098
"default-mobile.handlebars->9->326",
5099
- "default.handlebars->29->1236",
5100
- "default.handlebars->29->1270"
5099
+ "default.handlebars->29->1243",
5100
+ "default.handlebars->29->1277"
5101
]
5102
},
5103
{
@@ -5114,7 +5114,7 @@
5114
"ru": "Чеченский",
5115
"zh-chs": "車臣",
5116
"xloc": [
5117
- "default.handlebars->29->877"
5117
+ "default.handlebars->29->884"
5118
]
5119
},
5120
{
@@ -5182,8 +5182,8 @@
5182
"ru": "Проверка...",
5183
"zh-chs": "檢查...",
5184
"xloc": [
5185
- "default.handlebars->29->1689",
5186
- "default.handlebars->29->843"
5185
+ "default.handlebars->29->1702",
5186
+ "default.handlebars->29->850"
5187
]
5188
},
5189
{
@@ -5200,7 +5200,7 @@
5200
"ru": "Китайский",
5201
"zh-chs": "中文",
5202
"xloc": [
5203
- "default.handlebars->29->878"
5203
+ "default.handlebars->29->885"
5204
]
5205
},
5206
{
@@ -5217,7 +5217,7 @@
5217
"ru": "Китайский (Гонконг)",
5218
"zh-chs": "中文(香港)",
5219
"xloc": [
5220
- "default.handlebars->29->879"
5220
+ "default.handlebars->29->886"
5221
]
5222
},
5223
{
@@ -5234,7 +5234,7 @@
5234
"ru": "Китайский (КНР)",
5235
"zh-chs": "中文(中國)",
5236
"xloc": [
5237
- "default.handlebars->29->880"
5237
+ "default.handlebars->29->887"
5238
]
5239
},
5240
{
@@ -5249,7 +5249,7 @@
5249
"ru": "Упрощенный китайский)",
5250
"zh-chs": "简体中文)",
5251
"xloc": [
5252
- "default.handlebars->29->1040"
5252
+ "default.handlebars->29->1047"
5253
]
5254
},
5255
{
@@ -5266,7 +5266,7 @@
5266
"ru": "Китайский (Сингапур)",
5267
"zh-chs": "中文(新加坡)",
5268
"xloc": [
5269
- "default.handlebars->29->881"
5269
+ "default.handlebars->29->888"
5270
]
5271
},
5272
{
@@ -5283,7 +5283,7 @@
5283
"ru": "Китайский (Тайвань)",
5284
"zh-chs": "中文(台灣)",
5285
"xloc": [
5286
- "default.handlebars->29->882"
5286
+ "default.handlebars->29->889"
5287
]
5288
},
5289
{
@@ -5318,7 +5318,7 @@
5318
"ru": "Чувашский",
5319
"zh-chs": "楚瓦什",
5320
"xloc": [
5321
- "default.handlebars->29->883"
5321
+ "default.handlebars->29->890"
5322
]
5323
},
5324
{
@@ -5335,7 +5335,7 @@
5335
"ru": "Очистка CIRA",
5336
"zh-chs": "清理CIRA",
5337
"xloc": [
5338
- "default.handlebars->29->254"
5338
+ "default.handlebars->29->256"
5339
]
5340
},
5341
{
@@ -5358,11 +5358,11 @@
5358
"default-mobile.handlebars->9->269",
5359
"default-mobile.handlebars->9->28",
5360
"default-mobile.handlebars->9->94",
5361
- "default.handlebars->29->1351",
5362
- "default.handlebars->29->737",
5361
+ "default.handlebars->29->1358",
5362
"default.handlebars->29->739",
5363
"default.handlebars->29->741",
5364
"default.handlebars->29->743",
5365
+ "default.handlebars->29->745",
5366
"default.handlebars->container->column_l->p15->consoleTable->1->6->1->1->1->0->7",
5367
"default.handlebars->container->column_l->p41->3->1",
5368
"messenger.handlebars->xbottom"
@@ -5390,7 +5390,7 @@
5390
"en": "Clear all",
5391
"nl": "Wis alle meldingen",
5392
"xloc": [
5393
- "default.handlebars->29->1619"
5393
+ "default.handlebars->29->1632"
5394
]
5395
},
5396
{
@@ -5407,7 +5407,7 @@
5407
"ru": "Очистить ядро",
5408
"zh-chs": "清除核心",
5409
"xloc": [
5410
- "default.handlebars->29->821"
5410
+ "default.handlebars->29->823"
5411
]
5412
},
5413
{
@@ -5438,7 +5438,7 @@
5438
"ru": "Очистить это уведомление",
5439
"zh-chs": "清除此通知",
5440
"xloc": [
5441
- "default.handlebars->29->1618"
5441
+ "default.handlebars->29->1631"
5442
]
5443
},
5444
{
@@ -5473,8 +5473,8 @@
5473
"en": "Click here to edit the device group name",
5474
"nl": "Klik hier om de apparaatgroepsnaam te bewerken",
5475
"xloc": [
5476
- "default.handlebars->29->1103",
5477
- "default.handlebars->29->1307"
5476
+ "default.handlebars->29->1110",
5477
+ "default.handlebars->29->1314"
5478
]
5479
},
5480
{
@@ -5491,14 +5491,14 @@
5491
"ru": "Для изменения имени устройства на сервере нажмите сюда",
5492
"zh-chs": "單擊此處編輯服務器端設備名稱",
5493
"xloc": [
5494
- "default.handlebars->29->450"
5494
+ "default.handlebars->29->452"
5495
]
5496
},
5497
{
5498
"en": "Click here to edit the user group name",
5499
"nl": "Klik hier om de gebruikersgroepsnaam te bewerken",
5500
"xloc": [
5501
- "default.handlebars->29->1469"
5501
+ "default.handlebars->29->1478"
5502
]
5503
},
5504
{
@@ -5544,7 +5544,7 @@
5544
"zh-chs": "單擊確定將驗證郵件發送到:",
5545
"xloc": [
5546
"default-mobile.handlebars->9->37",
5547
- "default.handlebars->29->1054"
5547
+ "default.handlebars->29->1061"
5548
]
5549
},
5550
{
@@ -5578,7 +5578,7 @@
5578
"ru": "Режим управления клиентом (CCM)",
5579
"zh-chs": "客戶端控制模式(CCM)",
5580
"xloc": [
5581
- "default.handlebars->29->785"
5581
+ "default.handlebars->29->787"
5582
]
5583
},
5584
{
@@ -5595,8 +5595,8 @@
5595
"ru": "Клиент инициировал удаленный доступ",
5596
"zh-chs": "客戶端啟動的遠程訪問",
5597
"xloc": [
5598
- "default.handlebars->29->1173",
5599
- "default.handlebars->29->1178"
5598
+ "default.handlebars->29->1180",
5599
+ "default.handlebars->29->1185"
5600
]
5601
},
5602
{
@@ -5633,7 +5633,7 @@
5633
"default-mobile.handlebars->9->26",
5634
"default.handlebars->29->121",
5635
"default.handlebars->29->129",
5636
- "default.handlebars->29->695"
5636
+ "default.handlebars->29->697"
5637
]
5638
},
5639
{
@@ -5668,8 +5668,8 @@
5668
"ru": "Общие группы устройств",
5669
"zh-chs": "通用設備組",
5670
"xloc": [
5671
- "default.handlebars->29->1484",
5672
- "default.handlebars->29->1582"
5671
+ "default.handlebars->29->1493",
5672
+ "default.handlebars->29->1595"
5673
]
5674
},
5675
{
@@ -5686,8 +5686,8 @@
5686
"ru": "Общие устройства",
5687
"zh-chs": "通用設備",
5688
"xloc": [
5689
- "default.handlebars->29->1490",
5690
- "default.handlebars->29->1594"
5689
+ "default.handlebars->29->1499",
5690
+ "default.handlebars->29->1607"
5691
]
5692
},
5693
{
@@ -5705,7 +5705,7 @@
5705
"zh-chs": "將{1}入口{2}中的{0}限製到此位置?",
5706
"xloc": [
5707
"default-mobile.handlebars->9->89",
5708
- "default.handlebars->29->1346"
5708
+ "default.handlebars->29->1353"
5709
]
5710
},
5711
{
@@ -5724,14 +5724,14 @@
5724
"xloc": [
5725
"default-mobile.handlebars->9->223",
5726
"default-mobile.handlebars->9->288",
5727
- "default.handlebars->29->1187",
5728
- "default.handlebars->29->1399",
5729
- "default.handlebars->29->1461",
5730
- "default.handlebars->29->1504",
5731
- "default.handlebars->29->1580",
5732
- "default.handlebars->29->393",
5733
- "default.handlebars->29->626",
5734
- "default.handlebars->29->635"
5727
+ "default.handlebars->29->1194",
5728
+ "default.handlebars->29->1407",
5729
+ "default.handlebars->29->1470",
5730
+ "default.handlebars->29->1513",
5731
+ "default.handlebars->29->1593",
5732
+ "default.handlebars->29->395",
5733
+ "default.handlebars->29->628",
5734
+ "default.handlebars->29->637"
5735
]
5736
},
5737
{
@@ -5749,7 +5749,7 @@
5749
"zh-chs": "確認將1個副本複製到此位置?",
5750
"xloc": [
5751
"default-mobile.handlebars->9->258",
5752
- "default.handlebars->29->732"
5752
+ "default.handlebars->29->734"
5753
]
5754
},
5755
{
@@ -5767,7 +5767,7 @@
5767
"zh-chs": "確認{0}個條目的副本到此位置?",
5768
"xloc": [
5769
"default-mobile.handlebars->9->257",
5770
- "default.handlebars->29->731"
5770
+ "default.handlebars->29->733"
5771
]
5772
},
5773
{
@@ -5775,7 +5775,7 @@
5775
"en": "Confirm delete selected account(s)?",
5776
"nl": "Bevestig verwijdering geselecteerde account(s)?",
5777
"xloc": [
5778
- "default.handlebars->29->1398"
5778
+ "default.handlebars->29->1406"
5779
]
5780
},
5781
{
@@ -5792,7 +5792,7 @@
5792
"ru": "Подтвердить удаление выбранных устройств?",
5793
"zh-chs": "確認刪除所選設備?",
5794
"xloc": [
5795
- "default.handlebars->29->392"
5795
+ "default.handlebars->29->394"
5796
]
5797
},
5798
{
@@ -5800,7 +5800,7 @@
5800
"en": "Confirm delete selected user groups(s)?",
5801
"nl": "Bevestig verwijdering geselecteerde gebruikersgroep(en)?",
5802
"xloc": [
5803
- "default.handlebars->29->1460"
5803
+ "default.handlebars->29->1469"
5804
]
5805
},
5806
{
@@ -5817,7 +5817,7 @@
5817
"ru": "Подтвердить удаление пользователя {0}?",
5818
"zh-chs": "確認刪除用戶{0}?",
5819
"xloc": [
5820
- "default.handlebars->29->1579"
5820
+ "default.handlebars->29->1592"
5821
]
5822
},
5823
{
@@ -5825,7 +5825,7 @@
5825
"en": "Confirm membership removal of user \\\"{0}\\\"?",
5826
"nl": "Bevestig lidmaatschap verwijderen van gebruiker \\\"{0}\\\"?",
5827
"xloc": [
5828
- "default.handlebars->29->1507"
5828
+ "default.handlebars->29->1516"
5829
]
5830
},
5831
{
@@ -5833,7 +5833,7 @@
5833
"en": "Confirm membership removal of user group \\\"{0}\\\"?",
5834
"nl": "Bevestig lidmaatschap verwijdering van gebruikergroep \\\"{0}\\\"?",
5835
"xloc": [
5836
- "default.handlebars->29->1609"
5836
+ "default.handlebars->29->1622"
5837
]
5838
},
5839
{
@@ -5851,7 +5851,7 @@
5851
"zh-chs": "確認將1個入口移動到此位置?",
5852
"xloc": [
5853
"default-mobile.handlebars->9->260",
5854
- "default.handlebars->29->734"
5854
+ "default.handlebars->29->736"
5855
]
5856
},
5857
{
@@ -5869,7 +5869,7 @@
5869
"zh-chs": "確認將{0}個條目移到此位置?",
5870
"xloc": [
5871
"default-mobile.handlebars->9->259",
5872
- "default.handlebars->29->733"
5872
+ "default.handlebars->29->735"
5873
]
5874
},
5875
{
@@ -5886,7 +5886,7 @@
5886
"ru": "Подтвердить перезапись?",
5887
"zh-chs": "確認覆蓋?",
5888
"xloc": [
5889
- "default.handlebars->29->1345"
5889
+ "default.handlebars->29->1352"
5890
]
5891
},
5892
{
@@ -5894,8 +5894,8 @@
5894
"en": "Confirm removal of access rights for device \\\"{0}\\\"?",
5895
"nl": "Bevestig verwijdering van toegangsrechten voor apparaat \\\"{0}\\\"?",
5896
"xloc": [
5897
- "default.handlebars->29->1497",
5898
- "default.handlebars->29->1600"
5897
+ "default.handlebars->29->1506",
5898
+ "default.handlebars->29->1613"
5899
]
5900
},
5901
{
@@ -5903,8 +5903,8 @@
5903
"en": "Confirm removal of access rights for device group \\\"{0}\\\"?",
5904
"nl": "Bevestig verwijdering van toegangsrechten voor apparaatgroep \\\"{0}\\\"?",
5905
"xloc": [
5906
- "default.handlebars->29->1499",
5907
- "default.handlebars->29->1613"
5906
+ "default.handlebars->29->1508",
5907
+ "default.handlebars->29->1626"
5908
]
5909
},
5910
{
@@ -5912,7 +5912,7 @@
5912
"en": "Confirm removal of access rights for user \\\"{0}\\\"?",
5913
"nl": "Bevestig verwijdering van toegangsrechten voor gebruiker \\\"{0}\\\"?",
5914
"xloc": [
5915
- "default.handlebars->29->1602"
5915
+ "default.handlebars->29->1615"
5916
]
5917
},
5918
{
@@ -5920,7 +5920,7 @@
5920
"en": "Confirm removal of access rights for user group \\\"{0}\\\"?",
5921
"nl": "Bevestig verwijdering van toegangsrechten voor gebruikergroep \\\"{0}\\\"?",
5922
"xloc": [
5923
- "default.handlebars->29->1605"
5923
+ "default.handlebars->29->1618"
5924
]
5925
},
5926
{
@@ -5928,8 +5928,8 @@
5928
"en": "Confirm removal of access rights?",
5929
"nl": "Verwijdering van toegangsrechten bevestigen?",
5930
"xloc": [
5931
- "default.handlebars->29->1603",
5932
- "default.handlebars->29->1606"
5931
+ "default.handlebars->29->1616",
5932
+ "default.handlebars->29->1619"
5933
]
5934
},
5935
{
@@ -5947,7 +5947,7 @@
5947
"zh-chs": "確認刪除身份驗證器應用程序兩步登錄?",
5948
"xloc": [
5949
"default-mobile.handlebars->9->36",
5950
- "default.handlebars->29->833"
5950
+ "default.handlebars->29->840"
5951
]
5952
},
5953
{
@@ -5994,7 +5994,7 @@
5994
"en": "Confirm removal of rights for user \\\"{0}\\\"?",
5995
"nl": "Bevestig de verwijdering van rechten voor gebruiker \\\"{0}\\\"?",
5996
"xloc": [
5997
- "default.handlebars->29->1279"
5997
+ "default.handlebars->29->1286"
5998
]
5999
},
6000
{
@@ -6002,7 +6002,7 @@
6002
"en": "Confirm removal of rights for user group \\\"{0}\\\"?",
6003
"nl": "Bevestig de verwijdering van rechten voor de gebruikergroep \\\"{0}\\\"?",
6004
"xloc": [
6005
- "default.handlebars->29->1281"
6005
+ "default.handlebars->29->1288"
6006
]
6007
},
6008
{
@@ -6044,8 +6044,8 @@
6044
"default-mobile.handlebars->9->237",
6045
"default-mobile.handlebars->container->page_content->column_l->p10->p10desktop->deskarea1->1->3",
6046
"default-mobile.handlebars->container->page_content->column_l->p10->p10files->p13toolbar->1->0->1->3",
6047
- "default.handlebars->29->1126",
6048
- "default.handlebars->29->714",
6047
+ "default.handlebars->29->1133",
6048
+ "default.handlebars->29->716",
6049
"default.handlebars->container->column_l->p11->deskarea0->deskarea1->3->connectbutton1span",
6050
"default.handlebars->container->column_l->p12->termTable->1->1->0->1->3->connectbutton2span",
6051
"default.handlebars->container->column_l->p13->p13toolbar->1->0->1->3",
@@ -6066,7 +6066,7 @@
6066
"ru": "Подключиться ко всем",
6067
"zh-chs": "全部連接",
6068
"xloc": [
6069
- "default.handlebars->29->207",
6069
+ "default.handlebars->29->209",
6070
"default.handlebars->container->column_l->p1->devListToolbarSpan->1->0->kvmListToolbar"
6071
]
6072
},
@@ -6084,8 +6084,8 @@
6084
"ru": "Подключиться к серверу",
6085
"zh-chs": "連接到服務器",
6086
"xloc": [
6087
- "default.handlebars->29->1177",
6088
- "default.handlebars->29->1181"
6087
+ "default.handlebars->29->1184",
6088
+ "default.handlebars->29->1188"
6089
]
6090
},
6091
{
@@ -6156,7 +6156,7 @@
6156
"ru": "Подключено Intel® AMT",
6157
"zh-chs": "連接的英特爾®AMT",
6158
"xloc": [
6159
- "default.handlebars->29->1637"
6159
+ "default.handlebars->29->1650"
6160
]
6161
},
6162
{
@@ -6173,7 +6173,7 @@
6173
"ru": "Подключенные пользователи",
6174
"zh-chs": "關聯用戶",
6175
"xloc": [
6176
- "default.handlebars->29->1642"
6176
+ "default.handlebars->29->1655"
6177
]
6178
},
6179
{
@@ -6190,7 +6190,7 @@
6190
"ru": "Подключено сейчас",
6191
"zh-chs": "現在已連接",
6192
"xloc": [
6193
- "default.handlebars->29->764"
6193
+ "default.handlebars->29->766"
6194
]
6195
},
6196
{
@@ -6227,10 +6227,10 @@
6227
"default-mobile.handlebars->9->2",
6228
"default-mobile.handlebars->9->273",
6229
"default-mobile.handlebars->9->6",
6230
- "default.handlebars->29->201",
6231
- "default.handlebars->29->204",
6232
- "default.handlebars->29->210",
6233
- "default.handlebars->29->755",
6230
+ "default.handlebars->29->203",
6231
+ "default.handlebars->29->206",
6232
+ "default.handlebars->29->212",
6233
+ "default.handlebars->29->757",
6234
"default.handlebars->29->9",
6235
"xterm.handlebars->9->2"
6236
]
@@ -6249,7 +6249,7 @@
6249
"ru": "Подключений ",
6250
"zh-chs": "連接數",
6251
"xloc": [
6252
- "default.handlebars->29->1653"
6252
+ "default.handlebars->29->1666"
6253
]
6254
},
6255
{
@@ -6266,7 +6266,7 @@
6266
"ru": "Ретранслятор подключения",
6267
"zh-chs": "連接繼電器",
6268
"xloc": [
6269
- "default.handlebars->29->1681"
6269
+ "default.handlebars->29->1694"
6270
]
6271
},
6272
{
@@ -6318,9 +6318,9 @@
6318
"zh-chs": "連接性",
6319
"xloc": [
6320
"default-mobile.handlebars->9->198",
6321
- "default.handlebars->29->1314",
6322
- "default.handlebars->29->192",
6323
- "default.handlebars->29->515",
6321
+ "default.handlebars->29->1321",
6322
+ "default.handlebars->29->194",
6323
+ "default.handlebars->29->517",
6324
"default.handlebars->container->column_l->p21->3->1->meshConnChartDiv->1"
6325
]
6326
},
@@ -6338,8 +6338,8 @@
6338
"ru": "Консоль",
6339
"zh-chs": "安慰",
6340
"xloc": [
6341
- "default.handlebars->29->568",
6342
- "default.handlebars->29->587",
6341
+ "default.handlebars->29->570",
6342
+ "default.handlebars->29->589",
6343
"default.handlebars->container->topbar->1->1->MainSubMenuSpan->MainSubMenu->1->0->MainDevConsole",
6344
"default.handlebars->container->topbar->1->1->ServerSubMenuSpan->ServerSubMenu->1->0->ServerConsole",
6345
"default.handlebars->contextMenu->cxconsole"
@@ -6359,7 +6359,7 @@
6359
"ru": "Консоль - ",
6360
"zh-chs": "安慰 -",
6361
"xloc": [
6362
- "default.handlebars->29->451"
6362
+ "default.handlebars->29->453"
6363
]
6364
},
6365
{
@@ -6373,8 +6373,8 @@
6373
"ru": "контроль",
6374
"zh-chs": "控制",
6375
"xloc": [
6376
- "default.handlebars->29->567",
6377
- "default.handlebars->29->586"
6376
+ "default.handlebars->29->569",
6377
+ "default.handlebars->29->588"
6378
]
6379
},
6380
{
@@ -6391,7 +6391,7 @@
6391
"ru": "Cookie-кодировщик",
6392
"zh-chs": "Cookie編碼器",
6393
"xloc": [
6394
- "default.handlebars->29->1667"
6394
+ "default.handlebars->29->1680"
6395
]
6396
},
6397
{
@@ -6446,7 +6446,7 @@
6446
"ru": "Скопировать ссылку MacOS agent в буфер обмена",
6447
"zh-chs": "將MacOS代理URL複製到剪貼板",
6448
"xloc": [
6449
- "default.handlebars->29->333"
6449
+ "default.handlebars->29->335"
6450
]
6451
},
6452
{
@@ -6460,7 +6460,7 @@
6460
"ru": "Скопировать URL-адрес агента Windows 32bit в буфер обмена",
6461
"zh-chs": "将Windows 32位代理URL复制到剪贴板",
6462
"xloc": [
6463
- "default.handlebars->29->321"
6463
+ "default.handlebars->29->323"
6464
]
6465
},
6466
{
@@ -6474,7 +6474,7 @@
6474
"ru": "Скопировать URL-адрес агента Windows 64bit в буфер обмена",
6475
"zh-chs": "将Windows 64位代理URL复制到剪贴板",
6476
"xloc": [
6477
- "default.handlebars->29->325"
6477
+ "default.handlebars->29->327"
6478
]
6479
},
6480
{
@@ -6513,9 +6513,9 @@
6513
"ru": "Скопировать ссылку в буфер обмена",
6514
"zh-chs": "複製鏈接到剪貼板",
6515
"xloc": [
6516
- "default.handlebars->29->1319",
6517
- "default.handlebars->29->1333",
6518
- "default.handlebars->29->305"
6516
+ "default.handlebars->29->1326",
6517
+ "default.handlebars->29->1340",
6518
+ "default.handlebars->29->307"
6519
]
6520
},
6521
{
@@ -6692,7 +6692,7 @@
6692
"ru": "Основной сервер",
6693
"zh-chs": "核心服務器",
6694
"xloc": [
6695
- "default.handlebars->29->1666"
6695
+ "default.handlebars->29->1679"
6696
]
6697
},
6698
{
@@ -6709,7 +6709,7 @@
6709
"ru": "Kорсиканский",
6710
"zh-chs": "科西嘉人",
6711
"xloc": [
6712
- "default.handlebars->29->884"
6712
+ "default.handlebars->29->891"
6713
]
6714
},
6715
{
@@ -6726,7 +6726,7 @@
6726
"ru": "Создать учетную запись",
6727
"zh-chs": "創建帳號",
6728
"xloc": [
6729
- "default.handlebars->29->1432",
6729
+ "default.handlebars->29->1441",
6730
"login-mobile.handlebars->container->page_content->column_l->1->1->0->1->createpanel->1->1->9->1->12->1->1",
6731
"login.handlebars->container->column_l->centralTable->1->0->logincell->createpanel->1->9->1->12->1->1"
6732
]
@@ -6762,7 +6762,7 @@
6762
"ru": "Создать группу пользователей",
6763
"zh-chs": "創建用戶組",
6764
"xloc": [
6765
- "default.handlebars->29->1466"
6765
+ "default.handlebars->29->1475"
6766
]
6767
},
6768
{
@@ -6779,7 +6779,7 @@
6779
"ru": "Создайте новую группу устройств, используя параметры ниже.",
6780
"zh-chs": "使用以下選項創建一個新的設備組。",
6781
"xloc": [
6782
- "default.handlebars->29->1077"
6782
+ "default.handlebars->29->1084"
6783
]
6784
},
6785
{
@@ -6796,7 +6796,7 @@
6796
"ru": "Создать новую группу устройств.",
6797
"zh-chs": "創建一個新的設備組。",
6798
"xloc": [
6799
- "default.handlebars->29->194"
6799
+ "default.handlebars->29->196"
6800
]
6801
},
6802
{
@@ -6813,7 +6813,7 @@
6813
"ru": "Создайте сразу несколько учетных записей, импортировав файл JSON в следующем формате:",
6814
"zh-chs": "通過導入以下格式的JSON文件一次創建多個帳戶:",
6815
"xloc": [
6816
- "default.handlebars->29->1403"
6816
+ "default.handlebars->29->1412"
6817
]
6818
},
6819
{
@@ -6848,7 +6848,7 @@
6848
"ru": "Создано",
6849
"zh-chs": "創建",
6850
"xloc": [
6851
- "default.handlebars->29->1527"
6851
+ "default.handlebars->29->1537"
6852
]
6853
},
6854
{
@@ -6883,7 +6883,7 @@
6883
"ru": "Кри (Канадский язык)",
6884
"zh-chs": "克里",
6885
"xloc": [
6886
- "default.handlebars->29->885"
6886
+ "default.handlebars->29->892"
6887
]
6888
},
6889
{
@@ -6900,7 +6900,7 @@
6900
"ru": "Хорватский",
6901
"zh-chs": "克羅地亞語",
6902
"xloc": [
6903
- "default.handlebars->29->886"
6903
+ "default.handlebars->29->893"
6904
]
6905
},
6906
{
@@ -7041,7 +7041,7 @@
7041
"ru": "Чешский",
7042
"zh-chs": "捷克文",
7043
"xloc": [
7044
- "default.handlebars->29->887"
7044
+ "default.handlebars->29->894"
7045
]
7046
},
7047
{
@@ -7075,7 +7075,7 @@
7075
"ru": "Датский",
7076
"zh-chs": "丹麥文",
7077
"xloc": [
7078
- "default.handlebars->29->888"
7078
+ "default.handlebars->29->895"
7079
]
7080
},
7081
{
@@ -7092,7 +7092,7 @@
7092
"ru": "DataChannel",
7093
"zh-chs": "數據通道",
7094
"xloc": [
7095
- "default.handlebars->29->671"
7095
+ "default.handlebars->29->673"
7096
]
7097
},
7098
{
@@ -7109,7 +7109,7 @@
7109
"ru": "Дата & Время",
7110
"zh-chs": "日期和時間",
7111
"xloc": [
7112
- "default.handlebars->29->1045"
7112
+ "default.handlebars->29->1052"
7113
]
7114
},
7115
{
@@ -7126,7 +7126,7 @@
7126
"ru": "День",
7127
"zh-chs": "天",
7128
"xloc": [
7129
- "default.handlebars->29->610"
7129
+ "default.handlebars->29->612"
7130
]
7131
},
7132
{
@@ -7143,7 +7143,7 @@
7143
"ru": "Деактивировать режим управления клиентом (CCM)",
7144
"zh-chs": "停用客戶端控制模式(CCM)",
7145
"xloc": [
7146
- "default.handlebars->29->1165"
7146
+ "default.handlebars->29->1172"
7147
]
7148
},
7149
{
@@ -7161,7 +7161,7 @@
7161
"zh-chs": "沉睡",
7162
"xloc": [
7163
"default-mobile.handlebars->9->113",
7164
- "default.handlebars->29->352"
7164
+ "default.handlebars->29->354"
7165
]
7166
},
7167
{
@@ -7182,9 +7182,9 @@
7182
"default-mobile.handlebars->9->84",
7183
"default-mobile.handlebars->container->page_content->column_l->p10->p10files->p13toolbar->1->2->1->1",
7184
"default-mobile.handlebars->container->page_content->column_l->p5->p5myfiles->p5toolbar->1->0->1->1",
7185
- "default.handlebars->29->1340",
7186
- "default.handlebars->29->423",
7187
- "default.handlebars->29->724",
7185
+ "default.handlebars->29->1347",
7186
+ "default.handlebars->29->425",
7187
+ "default.handlebars->29->726",
7188
"default.handlebars->container->column_l->p13->p13toolbar->1->2->1->3",
7189
"default.handlebars->container->column_l->p5->p5toolbar->1->0->p5filehead->3",
7190
"default.handlebars->container->dialog->idx_dlgButtonBar->5",
@@ -7208,7 +7208,7 @@
7208
"zh-chs": "刪除帳戶",
7209
"xloc": [
7210
"default-mobile.handlebars->9->46",
7211
- "default.handlebars->29->1062"
7211
+ "default.handlebars->29->1069"
7212
]
7213
},
7214
{
@@ -7216,7 +7216,7 @@
7216
"en": "Delete Accounts",
7217
"nl": "Verwijder accounts",
7218
"xloc": [
7219
- "default.handlebars->29->1400"
7219
+ "default.handlebars->29->1408"
7220
]
7221
},
7222
{
@@ -7234,7 +7234,7 @@
7234
"zh-chs": "刪除裝置",
7235
"xloc": [
7236
"default-mobile.handlebars->9->202",
7237
- "default.handlebars->29->526"
7237
+ "default.handlebars->29->528"
7238
]
7239
},
7240
{
@@ -7253,8 +7253,8 @@
7253
"xloc": [
7254
"default-mobile.handlebars->9->286",
7255
"default-mobile.handlebars->9->289",
7256
- "default.handlebars->29->1158",
7257
- "default.handlebars->29->1188"
7256
+ "default.handlebars->29->1165",
7257
+ "default.handlebars->29->1195"
7258
]
7259
},
7260
{
@@ -7272,7 +7272,7 @@
7272
"zh-chs": "刪除節點",
7273
"xloc": [
7274
"default-mobile.handlebars->9->221",
7275
- "default.handlebars->29->636"
7275
+ "default.handlebars->29->638"
7276
]
7277
},
7278
{
@@ -7289,7 +7289,7 @@
7289
"ru": "Удалить устройства",
7290
"zh-chs": "刪除節點",
7291
"xloc": [
7292
- "default.handlebars->29->394"
7292
+ "default.handlebars->29->396"
7293
]
7294
},
7295
{
@@ -7306,7 +7306,7 @@
7306
"ru": "Удалить пользователя",
7307
"zh-chs": "刪除用戶",
7308
"xloc": [
7309
- "default.handlebars->29->1561"
7309
+ "default.handlebars->29->1574"
7310
]
7311
},
7312
{
@@ -7323,8 +7323,8 @@
7323
"ru": "Удалить группу пользователей",
7324
"zh-chs": "刪除用戶組",
7325
"xloc": [
7326
- "default.handlebars->29->1495",
7327
- "default.handlebars->29->1505"
7326
+ "default.handlebars->29->1504",
7327
+ "default.handlebars->29->1514"
7328
]
7329
},
7330
{
@@ -7332,7 +7332,7 @@
7332
"en": "Delete User Groups",
7333
"nl": "Gebruikersgroepen verwijderen",
7334
"xloc": [
7335
- "default.handlebars->29->1462"
7335
+ "default.handlebars->29->1471"
7336
]
7337
},
7338
{
@@ -7349,7 +7349,7 @@
7349
"ru": "Удалить пользователя {0}",
7350
"zh-chs": "刪除用戶{0}",
7351
"xloc": [
7352
- "default.handlebars->29->1578"
7352
+ "default.handlebars->29->1591"
7353
]
7354
},
7355
{
@@ -7367,7 +7367,7 @@
7367
"zh-chs": "刪除帳戶",
7368
"xloc": [
7369
"default-mobile.handlebars->container->page_content->column_l->p3->p3info->1->p3AccountActions->7->7->0",
7370
- "default.handlebars->29->1396",
7370
+ "default.handlebars->29->1404",
7371
"default.handlebars->container->column_l->p2->p2info->p2AccountActions->3->p2AccountPassActions->7"
7372
]
7373
},
@@ -7385,7 +7385,7 @@
7385
"ru": "Удалить устройства",
7386
"zh-chs": "刪除設備",
7387
"xloc": [
7388
- "default.handlebars->29->389"
7388
+ "default.handlebars->29->391"
7389
]
7390
},
7391
{
@@ -7393,7 +7393,7 @@
7393
"en": "Delete group",
7394
"nl": "Verwijder groep",
7395
"xloc": [
7396
- "default.handlebars->29->1458"
7396
+ "default.handlebars->29->1467"
7397
]
7398
},
7399
{
@@ -7410,7 +7410,7 @@
7410
"ru": "Удалить пункт?",
7411
"zh-chs": "刪除項目?",
7412
"xloc": [
7413
- "default.handlebars->29->424"
7413
+ "default.handlebars->29->426"
7414
]
7415
},
7416
{
@@ -7429,8 +7429,8 @@
7429
"xloc": [
7430
"default-mobile.handlebars->9->252",
7431
"default-mobile.handlebars->9->86",
7432
- "default.handlebars->29->1342",
7433
- "default.handlebars->29->726"
7432
+ "default.handlebars->29->1349",
7433
+ "default.handlebars->29->728"
7434
]
7435
},
7436
{
@@ -7447,7 +7447,7 @@
7447
"ru": "Удалить группу пользователей {0}?",
7448
"zh-chs": "刪除用戶組{0}?",
7449
"xloc": [
7450
- "default.handlebars->29->1503"
7450
+ "default.handlebars->29->1512"
7451
]
7452
},
7453
{
@@ -7466,8 +7466,8 @@
7466
"xloc": [
7467
"default-mobile.handlebars->9->251",
7468
"default-mobile.handlebars->9->85",
7469
- "default.handlebars->29->1341",
7470
- "default.handlebars->29->725"
7469
+ "default.handlebars->29->1348",
7470
+ "default.handlebars->29->727"
7471
]
7472
},
7473
{
@@ -7567,17 +7567,17 @@
7567
"default-mobile.handlebars->9->278",
7568
"default-mobile.handlebars->9->291",
7569
"default-mobile.handlebars->9->63",
7570
- "default.handlebars->29->1082",
7571
- "default.handlebars->29->1107",
7572
- "default.handlebars->29->1190",
7573
- "default.handlebars->29->1465",
7574
- "default.handlebars->29->1471",
7575
- "default.handlebars->29->1472",
7576
- "default.handlebars->29->1501",
7577
- "default.handlebars->29->461",
7578
- "default.handlebars->29->462",
7579
- "default.handlebars->29->667",
7580
- "default.handlebars->29->770",
7570
+ "default.handlebars->29->1089",
7571
+ "default.handlebars->29->1114",
7572
+ "default.handlebars->29->1197",
7573
+ "default.handlebars->29->1474",
7574
+ "default.handlebars->29->1480",
7575
+ "default.handlebars->29->1481",
7576
+ "default.handlebars->29->1510",
7577
+ "default.handlebars->29->463",
7578
+ "default.handlebars->29->464",
7579
+ "default.handlebars->29->669",
7580
+ "default.handlebars->29->772",
7581
"default.handlebars->29->78",
7582
"default.handlebars->container->column_l->p42->p42tbl->1->0->3"
7583
]
@@ -7610,8 +7610,8 @@
7610
"ru": "Рабочий стол",
7611
"zh-chs": "桌面",
7612
"xloc": [
7613
- "default.handlebars->29->1195",
7614
- "default.handlebars->29->429",
7613
+ "default.handlebars->29->1202",
7614
+ "default.handlebars->29->431",
7615
"default.handlebars->container->topbar->1->1->MainSubMenuSpan->MainSubMenu->1->0->MainDevDesktop",
7616
"default.handlebars->contextMenu->cxdesktop"
7617
]
@@ -7647,9 +7647,9 @@
7647
"ru": "Уведомление на рабочем столе",
7648
"zh-chs": "桌面通知",
7649
"xloc": [
7650
- "default.handlebars->29->1117",
7651
- "default.handlebars->29->1542",
7652
- "default.handlebars->29->496"
7650
+ "default.handlebars->29->1124",
7651
+ "default.handlebars->29->1552",
7652
+ "default.handlebars->29->498"
7653
]
7654
},
7655
{
@@ -7666,10 +7666,10 @@
7666
"ru": "Запрос рабочего стола",
7667
"zh-chs": "桌面提示",
7668
"xloc": [
7669
- "default.handlebars->29->1116",
7670
- "default.handlebars->29->1541",
7671
- "default.handlebars->29->495"
7672
- ]
7669
+ "default.handlebars->29->1123",
7670
+ "default.handlebars->29->1551",
7671
+ "default.handlebars->29->497"
7672
+ ]
7673
},
7674
{
7675
"cs": "Výzva na ploše+panel nástrojů",
@@ -7685,9 +7685,9 @@
7685
"ru": "Запрос рабочего стола + панель инструментов",
7686
"zh-chs": "桌面提示+工具欄",
7687
"xloc": [
7688
- "default.handlebars->29->1114",
7689
- "default.handlebars->29->1539",
7690
- "default.handlebars->29->493"
7688
+ "default.handlebars->29->1121",
7689
+ "default.handlebars->29->1549",
7690
+ "default.handlebars->29->495"
7691
]
7692
},
7693
{
@@ -7712,9 +7712,9 @@
7712
"ru": "Панель инструментов рабочего стола",
7713
"zh-chs": "桌面工具欄",
7714
"xloc": [
7715
- "default.handlebars->29->1115",
7716
- "default.handlebars->29->1540",
7717
- "default.handlebars->29->494"
7715
+ "default.handlebars->29->1122",
7716
+ "default.handlebars->29->1550",
7717
+ "default.handlebars->29->496"
7718
]
7719
},
7720
{
@@ -7783,8 +7783,8 @@
7783
"ru": "Устройство",
7784
"zh-chs": "設備",
7785
"xloc": [
7786
- "default.handlebars->29->1217",
7787
- "default.handlebars->29->1597",
7786
+ "default.handlebars->29->1224",
7787
+ "default.handlebars->29->1610",
7788
"default.handlebars->container->column_l->p1->devListToolbarSpan->1->0->9->devListToolbarSort->sortselect->5"
7789
]
7790
},
@@ -7803,7 +7803,7 @@
7803
"zh-chs": "設備動作",
7804
"xloc": [
7805
"default-mobile.handlebars->9->214",
7806
- "default.handlebars->29->609"
7806
+ "default.handlebars->29->611"
7807
]
7808
},
7809
{
@@ -7820,12 +7820,12 @@
7820
"ru": "Группа устройства",
7821
"zh-chs": "設備組",
7822
"xloc": [
7823
- "default.handlebars->29->1212",
7824
- "default.handlebars->29->1215",
7825
- "default.handlebars->29->1216",
7826
- "default.handlebars->29->1487",
7827
- "default.handlebars->29->1493",
7828
- "default.handlebars->29->1585"
7823
+ "default.handlebars->29->1219",
7824
+ "default.handlebars->29->1222",
7825
+ "default.handlebars->29->1223",
7826
+ "default.handlebars->29->1496",
7827
+ "default.handlebars->29->1502",
7828
+ "default.handlebars->29->1598"
7829
]
7830
},
7831
{
@@ -7843,7 +7843,7 @@
7843
"zh-chs": "設備組用戶",
7844
"xloc": [
7845
"default-mobile.handlebars->9->332",
7846
- "default.handlebars->29->1277"
7846
+ "default.handlebars->29->1284"
7847
]
7848
},
7849
{
@@ -7861,11 +7861,11 @@
7861
"zh-chs": "設備組",
7862
"xloc": [
7863
"default-mobile.handlebars->container->page_content->column_l->p3->p3info->1->3",
7864
- "default.handlebars->29->1366",
7865
- "default.handlebars->29->1452",
7866
- "default.handlebars->29->1474",
7867
- "default.handlebars->29->1536",
7868
- "default.handlebars->29->1640",
7864
+ "default.handlebars->29->1373",
7865
+ "default.handlebars->29->1461",
7866
+ "default.handlebars->29->1483",
7867
+ "default.handlebars->29->1546",
7868
+ "default.handlebars->29->1653",
7869
"default.handlebars->container->column_l->p2->p2info->7"
7870
]
7871
},
@@ -7883,7 +7883,7 @@
7883
"ru": "Экспорт информации об устройстве",
7884
"zh-chs": "設備信息導出",
7885
"xloc": [
7886
- "default.handlebars->29->400"
7886
+ "default.handlebars->29->402"
7887
]
7888
},
7889
{
@@ -7900,7 +7900,7 @@
7900
"ru": "Местонахождение устройства",
7901
"zh-chs": "設備位置",
7902
"xloc": [
7903
- "default.handlebars->29->637"
7903
+ "default.handlebars->29->639"
7904
]
7905
},
7906
{
@@ -7918,8 +7918,8 @@
7918
"zh-chs": "設備名稱",
7919
"xloc": [
7920
"default-mobile.handlebars->9->225",
7921
- "default.handlebars->29->228",
7922
- "default.handlebars->29->665",
7921
+ "default.handlebars->29->230",
7922
+ "default.handlebars->29->667",
7923
"player.handlebars->3->9"
7924
]
7925
},
@@ -7937,7 +7937,7 @@
7937
"ru": "Уведомление устройства",
7938
"zh-chs": "設備通知",
7939
"xloc": [
7940
- "default.handlebars->29->600"
7940
+ "default.handlebars->29->602"
7941
]
7942
},
7943
{
@@ -7971,8 +7971,8 @@
7971
"ru": "Подключения устройств.",
7972
"zh-chs": "設備連接。",
7973
"xloc": [
7974
- "default.handlebars->29->1050",
7975
- "default.handlebars->29->1298"
7974
+ "default.handlebars->29->1057",
7975
+ "default.handlebars->29->1305"
7976
]
7977
},
7978
{
@@ -7989,8 +7989,8 @@
7989
"ru": "Отключения устройств.",
7990
"zh-chs": "設備斷開連接。",
7991
"xloc": [
7992
- "default.handlebars->29->1051",
7993
- "default.handlebars->29->1299"
7992
+ "default.handlebars->29->1058",
7993
+ "default.handlebars->29->1306"
7994
]
7995
},
7996
{
@@ -8007,7 +8007,7 @@
8007
"ru": "Примечания могут быть просмотрены и изменены другими администраторами.",
8008
"zh-chs": "其他設備組管理員可以查看和更改設備組註釋。",
8009
"xloc": [
8010
- "default.handlebars->29->598"
8010
+ "default.handlebars->29->600"
8011
]
8012
},
8013
{
@@ -8024,7 +8024,7 @@
8024
"ru": "Устройство обнаружено, но состояние питания не может быть получено.",
8025
"zh-chs": "檢測到設備,但無法獲得電源狀態。",
8026
"xloc": [
8027
- "default.handlebars->29->357"
8027
+ "default.handlebars->29->359"
8028
]
8029
},
8030
{
@@ -8042,7 +8042,7 @@
8042
"zh-chs": "設備正在休眠(S4)",
8043
"xloc": [
8044
"default-mobile.handlebars->9->121",
8045
- "default.handlebars->29->363"
8045
+ "default.handlebars->29->365"
8046
]
8047
},
8048
{
@@ -8060,7 +8060,7 @@
8060
"zh-chs": "設備處於深度睡眠狀態(S3)",
8061
"xloc": [
8062
"default-mobile.handlebars->9->120",
8063
- "default.handlebars->29->362"
8063
+ "default.handlebars->29->364"
8064
]
8065
},
8066
{
@@ -8077,7 +8077,7 @@
8077
"ru": "Устройство находится в состоянии глубокого сна (S3).",
8078
"zh-chs": "設備處於深度睡眠狀態(S3)。",
8079
"xloc": [
8080
- "default.handlebars->29->351"
8080
+ "default.handlebars->29->353"
8081
]
8082
},
8083
{
@@ -8094,7 +8094,7 @@
8094
"ru": "Устройство находится в режиме гибернации (S4).",
8095
"zh-chs": "設備處於休眠狀態(S4)。",
8096
"xloc": [
8097
- "default.handlebars->29->353"
8097
+ "default.handlebars->29->355"
8098
]
8099
},
8100
{
@@ -8111,7 +8111,7 @@
8111
"ru": "Устройство находится в выключенном состоянии (S5).",
8112
"zh-chs": "設備處於關機狀態(S5)。",
8113
"xloc": [
8114
- "default.handlebars->29->355"
8114
+ "default.handlebars->29->357"
8115
]
8116
},
8117
{
@@ -8129,7 +8129,7 @@
8129
"zh-chs": "設備處於睡眠狀態(S1)",
8130
"xloc": [
8131
"default-mobile.handlebars->9->118",
8132
- "default.handlebars->29->360"
8132
+ "default.handlebars->29->362"
8133
]
8134
},
8135
{
@@ -8146,7 +8146,7 @@
8146
"ru": "Устройство находится в спящем режиме (S1).",
8147
"zh-chs": "設備處於睡眠狀態(S1)。",
8148
"xloc": [
8149
- "default.handlebars->29->347"
8149
+ "default.handlebars->29->349"
8150
]
8151
},
8152
{
@@ -8164,7 +8164,7 @@
8164
"zh-chs": "設備處於睡眠狀態(S2)",
8165
"xloc": [
8166
"default-mobile.handlebars->9->119",
8167
- "default.handlebars->29->361"
8167
+ "default.handlebars->29->363"
8168
]
8169
},
8170
{
@@ -8181,7 +8181,7 @@
8181
"ru": "Устройство находится в спящем режиме (S2).",
8182
"zh-chs": "設備處於睡眠狀態(S2)。",
8183
"xloc": [
8184
- "default.handlebars->29->349"
8184
+ "default.handlebars->29->351"
8185
]
8186
},
8187
{
@@ -8199,7 +8199,7 @@
8199
"zh-chs": "設備處於軟斷開狀態(S5)",
8200
"xloc": [
8201
"default-mobile.handlebars->9->122",
8202
- "default.handlebars->29->364"
8202
+ "default.handlebars->29->366"
8203
]
8204
},
8205
{
@@ -8217,7 +8217,7 @@
8217
"zh-chs": "設備已上電",
8218
"xloc": [
8219
"default-mobile.handlebars->9->117",
8220
- "default.handlebars->29->359"
8220
+ "default.handlebars->29->361"
8221
]
8222
},
8223
{
@@ -8234,7 +8234,7 @@
8234
"ru": "Устройство включено.",
8235
"zh-chs": "設備上電。",
8236
"xloc": [
8237
- "default.handlebars->29->345"
8237
+ "default.handlebars->29->347"
8238
]
8239
},
8240
{
@@ -8252,7 +8252,7 @@
8252
"zh-chs": "設備存在,但無法確定電源狀態",
8253
"xloc": [
8254
"default-mobile.handlebars->9->123",
8255
- "default.handlebars->29->365"
8255
+ "default.handlebars->29->367"
8256
]
8257
},
8258
{
@@ -8269,7 +8269,7 @@
8269
"ru": "Имя устройства",
8270
"zh-chs": "設備名稱",
8271
"xloc": [
8272
- "default.handlebars->29->441"
8272
+ "default.handlebars->29->443"
8273
]
8274
},
8275
{
@@ -8286,7 +8286,7 @@
8286
"ru": "DeviceCheckbox",
8287
"zh-chs": "設備複選框",
8288
"xloc": [
8289
- "default.handlebars->29->391"
8289
+ "default.handlebars->29->393"
8290
]
8291
},
8292
{
@@ -8294,8 +8294,8 @@
8294
"en": "Devices",
8295
"nl": "Apparaten",
8296
"xloc": [
8297
- "default.handlebars->29->1453",
8298
- "default.handlebars->29->1475"
8297
+ "default.handlebars->29->1462",
8298
+ "default.handlebars->29->1484"
8299
]
8300
},
8301
{
@@ -8312,7 +8312,7 @@
8312
"ru": "Отключено",
8313
"zh-chs": "殘障人士",
8314
"xloc": [
8315
- "default.handlebars->29->488"
8315
+ "default.handlebars->29->490"
8316
]
8317
},
8318
{
@@ -8331,8 +8331,8 @@
8331
"xloc": [
8332
"default-mobile.handlebars->9->238",
8333
"default-mobile.handlebars->container->page_content->column_l->p10->p10desktop->deskarea1->1->3",
8334
- "default.handlebars->29->1127",
8335
- "default.handlebars->29->715",
8334
+ "default.handlebars->29->1134",
8335
+ "default.handlebars->29->717",
8336
"default.handlebars->container->column_l->p11->deskarea0->deskarea1->3->disconnectbutton1span",
8337
"default.handlebars->container->column_l->p12->termTable->1->1->0->1->3->disconnectbutton2span",
8338
"xterm.handlebars->p11->deskarea0->deskarea1->3"
@@ -8372,10 +8372,10 @@
8372
"default-mobile.handlebars->9->1",
8373
"default-mobile.handlebars->container->page_content->column_l->p10->p10desktop->deskarea1->1->3->deskstatus",
8374
"default-mobile.handlebars->container->page_content->column_l->p10->p10files->p13toolbar->1->0->1->3->p13Status",
8375
- "default.handlebars->29->183",
8376
- "default.handlebars->29->200",
8377
- "default.handlebars->29->203",
8378
- "default.handlebars->29->209",
8375
+ "default.handlebars->29->185",
8376
+ "default.handlebars->29->202",
8377
+ "default.handlebars->29->205",
8378
+ "default.handlebars->29->211",
8379
"default.handlebars->29->8",
8380
"default.handlebars->container->column_l->p11->deskarea0->deskarea1->3->deskstatus",
8381
"default.handlebars->container->column_l->p12->termTable->1->1->0->1->3->termstatus",
@@ -8414,7 +8414,7 @@
8414
"ru": "Отобразить имя группы устройств",
8415
"zh-chs": "顯示設備組名稱",
8416
"xloc": [
8417
- "default.handlebars->29->1049"
8417
+ "default.handlebars->29->1056"
8418
]
8419
},
8420
{
@@ -8431,7 +8431,7 @@
8431
"ru": "Отображаемое имя",
8432
"zh-chs": "顯示名稱",
8433
"xloc": [
8434
- "default.handlebars->29->686"
8434
+ "default.handlebars->29->688"
8435
]
8436
},
8437
{
@@ -8445,7 +8445,7 @@
8445
"ru": "Показать публичную ссылку",
8446
"zh-chs": "显示公共链接",
8447
"xloc": [
8448
- "default.handlebars->29->1318"
8448
+ "default.handlebars->29->1325"
8449
]
8450
},
8451
{
@@ -8462,7 +8462,7 @@
8462
"ru": "Ничего не делать",
8463
"zh-chs": "沒做什麼",
8464
"xloc": [
8465
- "default.handlebars->29->1171"
8465
+ "default.handlebars->29->1178"
8466
]
8467
},
8468
{
@@ -8497,8 +8497,8 @@
8497
"ru": "Не настраивать",
8498
"zh-chs": "不要配置",
8499
"xloc": [
8500
- "default.handlebars->29->1175",
8501
- "default.handlebars->29->1180"
8500
+ "default.handlebars->29->1182",
8501
+ "default.handlebars->29->1187"
8502
]
8503
},
8504
{
@@ -8515,7 +8515,7 @@
8515
"ru": "Не подключаться к серверу",
8516
"zh-chs": "不連接服務器",
8517
"xloc": [
8518
- "default.handlebars->29->1176"
8518
+ "default.handlebars->29->1183"
8519
]
8520
},
8521
{
@@ -8569,7 +8569,7 @@
8569
"zh-chs": "下載文件",
8570
"xloc": [
8571
"default-mobile.handlebars->9->271",
8572
- "default.handlebars->29->744"
8572
+ "default.handlebars->29->746"
8573
]
8574
},
8575
{
@@ -8586,7 +8586,7 @@
8586
"ru": "Скачать MeshCentral Router, инструмент сопоставления TCP портов.",
8587
"zh-chs": "下載MeshCentral Router,一個TCP端口映射工具。",
8588
"xloc": [
8589
- "default.handlebars->29->198"
8589
+ "default.handlebars->29->200"
8590
]
8591
},
8592
{
@@ -8603,7 +8603,7 @@
8603
"ru": "Скачать MeshCmd",
8604
"zh-chs": "下載MeshCmd",
8605
"xloc": [
8606
- "default.handlebars->29->657"
8606
+ "default.handlebars->29->659"
8607
]
8608
},
8609
{
@@ -8620,7 +8620,7 @@
8620
"ru": "Скачать MeshCmd, инструмент командной строки, выполняющий множество функций.",
8621
"zh-chs": "下載MeshCmd,這是一個執行許多功能的命令行工具。",
8622
"xloc": [
8623
- "default.handlebars->29->196"
8623
+ "default.handlebars->29->198"
8624
]
8625
},
8626
{
@@ -8654,7 +8654,7 @@
8654
"ru": "Скачайте \\\"meshcmd\\\" с файлом команд для маршрутизации трафика к этому устройству через сервер. Не забудьте указать пароль от своей учетной записи в meshaction.txt и сделать другие правки при необходимости.",
8655
"zh-chs": "下載帶有動作文件的“ meshcmd”,以將通過此服務器的流量路由到該設備。確保編輯meshaction.txt並添加您的帳戶密碼或進行任何必要的更改。",
8656
"xloc": [
8657
- "default.handlebars->29->650"
8657
+ "default.handlebars->29->652"
8658
]
8659
},
8660
{
@@ -8722,7 +8722,7 @@
8722
"ru": "Скачать события состояния питания",
8723
"zh-chs": "下載電源事件",
8724
"xloc": [
8725
- "default.handlebars->29->611"
8725
+ "default.handlebars->29->613"
8726
]
8727
},
8728
{
@@ -8773,7 +8773,7 @@
8773
"ru": "Загрузите список устройств с одним из форматов файлов ниже.",
8774
"zh-chs": "使用以下一種文件格式下載設備列表。",
8775
"xloc": [
8776
- "default.handlebars->29->395"
8776
+ "default.handlebars->29->397"
8777
]
8778
},
8779
{
@@ -8790,7 +8790,7 @@
8790
"ru": "Скачать список событий в одном из форматов ниже.",
8791
"zh-chs": "使用以下一種文件格式下載事件列表。",
8792
"xloc": [
8793
- "default.handlebars->29->1356"
8793
+ "default.handlebars->29->1363"
8794
]
8795
},
8796
{
@@ -8807,7 +8807,7 @@
8807
"ru": "Скачать список пользователей в одном из форматов ниже.",
8808
"zh-chs": "使用以下一種文件格式下載用戶列表。",
8809
"xloc": [
8810
- "default.handlebars->29->1411"
8810
+ "default.handlebars->29->1420"
8811
]
8812
},
8813
{
@@ -8884,7 +8884,7 @@
8884
"en": "Duplicate Agent",
8885
"nl": "Dubbele agent",
8886
"xloc": [
8887
- "default.handlebars->29->1636"
8887
+ "default.handlebars->29->1649"
8888
]
8889
},
8890
{
@@ -8918,7 +8918,7 @@
8918
"ru": "Скопировать группу пользователей",
8919
"zh-chs": "重複的用戶組",
8920
"xloc": [
8921
- "default.handlebars->29->1467"
8921
+ "default.handlebars->29->1476"
8922
]
8923
},
8924
{
@@ -8966,7 +8966,7 @@
8966
"ru": "Во время активации агент будет иметь доступ к паролю администратора.",
8967
"zh-chs": "在激活期間,代理將有權訪問管理員密碼信息。",
8968
"xloc": [
8969
- "default.handlebars->29->1185"
8969
+ "default.handlebars->29->1192"
8970
]
8971
},
8972
{
@@ -8983,7 +8983,7 @@
8983
"ru": "Голландский (Бельгийский)",
8984
"zh-chs": "荷蘭語(比利時)",
8985
"xloc": [
8986
- "default.handlebars->29->890"
8986
+ "default.handlebars->29->897"
8987
]
8988
},
8989
{
@@ -9000,7 +9000,7 @@
9000
"ru": "Голландский (Стандартный)",
9001
"zh-chs": "荷蘭語(標準)",
9002
"xloc": [
9003
- "default.handlebars->29->889"
9003
+ "default.handlebars->29->896"
9004
]
9005
},
9006
{
@@ -9090,7 +9090,7 @@
9090
"zh-chs": "編輯裝置",
9091
"xloc": [
9092
"default-mobile.handlebars->9->230",
9093
- "default.handlebars->29->670"
9093
+ "default.handlebars->29->672"
9094
]
9095
},
9096
{
@@ -9110,10 +9110,10 @@
9110
"default-mobile.handlebars->9->292",
9111
"default-mobile.handlebars->9->294",
9112
"default-mobile.handlebars->9->312",
9113
- "default.handlebars->29->1191",
9114
- "default.handlebars->29->1221",
9115
- "default.handlebars->29->1243",
9116
- "default.handlebars->29->1255"
9113
+ "default.handlebars->29->1198",
9114
+ "default.handlebars->29->1228",
9115
+ "default.handlebars->29->1250",
9116
+ "default.handlebars->29->1262"
9117
]
9118
},
9119
{
@@ -9130,7 +9130,7 @@
9130
"ru": "Редактировать функции группы устройств",
9131
"zh-chs": "編輯設備組功能",
9132
"xloc": [
9133
- "default.handlebars->29->1207"
9133
+ "default.handlebars->29->1214"
9134
]
9135
},
9136
{
@@ -9147,8 +9147,8 @@
9147
"ru": "Редактировать права группы устройств",
9148
"zh-chs": "編輯設備組權限",
9149
"xloc": [
9150
- "default.handlebars->29->1240",
9151
- "default.handlebars->29->1252"
9150
+ "default.handlebars->29->1247",
9151
+ "default.handlebars->29->1259"
9152
]
9153
},
9154
{
@@ -9165,7 +9165,7 @@
9165
"ru": "Редактировать согласие пользователя группы устройств",
9166
"zh-chs": "編輯設備組用戶同意",
9167
"xloc": [
9168
- "default.handlebars->29->1192"
9168
+ "default.handlebars->29->1199"
9169
]
9170
},
9171
{
@@ -9183,7 +9183,7 @@
9183
"zh-chs": "編輯設備說明",
9184
"xloc": [
9185
"default-mobile.handlebars->9->306",
9186
- "default.handlebars->29->1234"
9186
+ "default.handlebars->29->1241"
9187
]
9188
},
9189
{
@@ -9197,8 +9197,8 @@
9197
"ru": "Изменить разрешения устройства",
9198
"zh-chs": "编辑设备权限",
9199
"xloc": [
9200
- "default.handlebars->29->1245",
9201
- "default.handlebars->29->1247"
9200
+ "default.handlebars->29->1252",
9201
+ "default.handlebars->29->1254"
9202
]
9203
},
9204
{
@@ -9206,7 +9206,7 @@
9206
"en": "Edit Device User Consent",
9207
"nl": "Gebruikerstoestemming apparaat bewerken",
9208
"xloc": [
9209
- "default.handlebars->29->1194"
9209
+ "default.handlebars->29->1201"
9210
]
9211
},
9212
{
@@ -9220,7 +9220,7 @@
9220
"ru": "Редактировать группу",
9221
"zh-chs": "编辑组",
9222
"xloc": [
9223
- "default.handlebars->29->577"
9223
+ "default.handlebars->29->579"
9224
]
9225
},
9226
{
@@ -9238,9 +9238,9 @@
9238
"zh-chs": "編輯英特爾®AMT憑據",
9239
"xloc": [
9240
"default-mobile.handlebars->9->220",
9241
- "default.handlebars->29->476",
9242
- "default.handlebars->29->479",
9243
- "default.handlebars->29->618"
9241
+ "default.handlebars->29->478",
9242
+ "default.handlebars->29->481",
9243
+ "default.handlebars->29->620"
9244
]
9245
},
9246
{
@@ -9258,7 +9258,7 @@
9258
"zh-chs": "編輯筆記",
9259
"xloc": [
9260
"default-mobile.handlebars->9->319",
9261
- "default.handlebars->29->1262"
9261
+ "default.handlebars->29->1269"
9262
]
9263
},
9264
{
@@ -9266,7 +9266,7 @@
9266
"en": "Edit User Consent",
9267
"nl": "Gebruikerstoestemming bewerken",
9268
"xloc": [
9269
- "default.handlebars->29->1193"
9269
+ "default.handlebars->29->1200"
9270
]
9271
},
9272
{
@@ -9283,7 +9283,7 @@
9283
"ru": "Редактировать права пользователя для группы устройств",
9284
"zh-chs": "編輯用戶設備組權限",
9285
"xloc": [
9286
- "default.handlebars->29->1253"
9286
+ "default.handlebars->29->1260"
9287
]
9288
},
9289
{
@@ -9297,7 +9297,7 @@
9297
"ru": "Изменить разрешения для пользовательских устройств",
9298
"zh-chs": "编辑用户设备权限",
9299
"xloc": [
9300
- "default.handlebars->29->1248"
9300
+ "default.handlebars->29->1255"
9301
]
9302
},
9303
{
@@ -9314,7 +9314,7 @@
9314
"ru": "Редактировать группу пользователей",
9315
"zh-chs": "編輯用戶組",
9316
"xloc": [
9317
- "default.handlebars->29->1502"
9317
+ "default.handlebars->29->1511"
9318
]
9319
},
9320
{
@@ -9322,7 +9322,7 @@
9322
"en": "Edit User Group Device Permissions",
9323
"nl": "Gebruikersmachtigingen voor apparaatgroep bewerken",
9324
"xloc": [
9325
- "default.handlebars->29->1250"
9325
+ "default.handlebars->29->1257"
9326
]
9327
},
9328
{
@@ -9357,14 +9357,14 @@
9357
"zh-chs": "電子郵件",
9358
"xloc": [
9359
"default-mobile.handlebars->9->40",
9360
- "default.handlebars->29->1423",
9361
- "default.handlebars->29->1523",
9362
- "default.handlebars->29->1524",
9363
- "default.handlebars->29->1566",
9364
- "default.handlebars->29->276",
9360
+ "default.handlebars->29->1432",
9361
+ "default.handlebars->29->1532",
9362
+ "default.handlebars->29->1533",
9363
+ "default.handlebars->29->1579",
9364
+ "default.handlebars->29->278",
9365
"login-mobile.handlebars->5->38",
9366
"login-mobile.handlebars->container->page_content->column_l->1->1->0->1->tokenpanel->1->7->1->4->1->3",
9367
- "login.handlebars->5->39",
9367
+ "login.handlebars->5->42",
9368
"login.handlebars->container->column_l->centralTable->1->0->logincell->tokenpanel->1->7->1->4->1->3"
9369
]
9370
},
@@ -9383,7 +9383,7 @@
9383
"zh-chs": "電郵地址變更",
9384
"xloc": [
9385
"default-mobile.handlebars->9->41",
9386
- "default.handlebars->29->1058"
9386
+ "default.handlebars->29->1065"
9387
]
9388
},
9389
{
@@ -9401,7 +9401,7 @@
9401
"zh-chs": "郵件認證",
9402
"xloc": [
9403
"default-mobile.handlebars->9->30",
9404
- "default.handlebars->29->827"
9404
+ "default.handlebars->29->834"
9405
]
9406
},
9407
{
@@ -9409,7 +9409,7 @@
9409
"nl": "E-mail bevestigen",
9410
"xloc": [
9411
"login-mobile.handlebars->5->39",
9412
- "login.handlebars->5->40"
9412
+ "login.handlebars->5->43"
9413
]
9414
},
9415
{
@@ -9421,10 +9421,7 @@
9421
"ja": "メールトラフィック",
9422
"nl": "E-mailverkeer",
9423
"ru": "Почтовый трафик",
9424
- "zh-chs": "电子邮件流量",
9425
- "xloc": [
9426
- "default.handlebars->29->1675"
9427
- ]
9424
+ "zh-chs": "电子邮件流量"
9425
},
9426
{
9427
"cs": "Ověření e-mailu",
@@ -9441,7 +9438,7 @@
9438
"zh-chs": "電子郵件驗證",
9439
"xloc": [
9440
"default-mobile.handlebars->9->39",
9444
- "default.handlebars->29->1056"
9441
+ "default.handlebars->29->1063"
9442
]
9443
},
9444
{
@@ -9450,7 +9447,7 @@
9447
"es": "Email de invitación",
9448
"nl": "E-mail uitnodiging",
9449
"xloc": [
9453
- "default.handlebars->29->273"
9450
+ "default.handlebars->29->275"
9451
]
9452
},
9453
{
@@ -9464,7 +9461,7 @@
9461
"ru": "Электронная почта не подтверждена",
9462
"zh-chs": "邮件未验证",
9463
"xloc": [
9467
- "default.handlebars->29->1385"
9464
+ "default.handlebars->29->1392"
9465
]
9466
},
9467
{
@@ -9481,8 +9478,8 @@
9478
"ru": "Email подтвержден",
9479
"zh-chs": "電子郵件已驗證",
9480
"xloc": [
9484
- "default.handlebars->29->1386",
9485
- "default.handlebars->29->1520"
9481
+ "default.handlebars->29->1393",
9482
+ "default.handlebars->29->1529"
9483
]
9484
},
9485
{
@@ -9499,7 +9496,7 @@
9496
"ru": "Email подтвержден.",
9497
"zh-chs": "電子郵件已驗證。",
9498
"xloc": [
9502
- "default.handlebars->29->1429"
9499
+ "default.handlebars->29->1438"
9500
]
9501
},
9502
{
@@ -9516,7 +9513,7 @@
9513
"ru": "Email не подтвержден",
9514
"zh-chs": "電子郵件未驗證",
9515
"xloc": [
9519
- "default.handlebars->29->1521"
9516
+ "default.handlebars->29->1530"
9517
]
9518
},
9519
{
@@ -9545,6 +9542,12 @@
9542
"login.handlebars->5->3"
9543
]
9544
},
9545
+ {
9546
+ "en": "Email/SMS Traffic",
9547
+ "xloc": [
9548
+ "default.handlebars->29->1688"
9549
+ ]
9550
+ },
9551
{
9552
"cs": "E-mail:",
9553
"de": "E-Mail:",
@@ -9562,7 +9565,7 @@
9565
"login-mobile.handlebars->5->19",
9566
"login-mobile.handlebars->container->page_content->column_l->1->1->0->1->createpanel->1->1->9->1->2->1",
9567
"login-mobile.handlebars->container->page_content->column_l->1->1->0->1->resetpanel->1->7->1->0->1",
9565
- "login.handlebars->5->19",
9568
+ "login.handlebars->5->20",
9569
"login.handlebars->container->column_l->centralTable->1->0->logincell->createpanel->1->9->1->2->nuEmail",
9570
"login.handlebars->container->column_l->centralTable->1->0->logincell->resetpanel->1->7->1->0->1"
9571
]
@@ -9581,7 +9584,7 @@
9584
"ru": "Включить коды приглашения",
9585
"zh-chs": "啟用邀請代碼",
9586
"xloc": [
9584
- "default.handlebars->29->1283"
9587
+ "default.handlebars->29->1290"
9588
]
9589
},
9590
{
@@ -9616,7 +9619,7 @@
9619
"zh-chs": "啟用電子郵件兩因素驗證。",
9620
"xloc": [
9621
"default-mobile.handlebars->9->32",
9619
- "default.handlebars->29->829"
9622
+ "default.handlebars->29->836"
9623
]
9624
},
9625
{
@@ -9667,7 +9670,7 @@
9670
"ru": "Английский",
9671
"zh-chs": "英語",
9672
"xloc": [
9670
- "default.handlebars->29->891"
9673
+ "default.handlebars->29->898"
9674
]
9675
},
9676
{
@@ -9684,7 +9687,7 @@
9687
"ru": "Английский (Австралия)",
9688
"zh-chs": "英文(澳洲)",
9689
"xloc": [
9687
- "default.handlebars->29->892"
9690
+ "default.handlebars->29->899"
9691
]
9692
},
9693
{
@@ -9701,7 +9704,7 @@
9704
"ru": "Английский (Белиз)",
9705
"zh-chs": "英語(伯利茲)",
9706
"xloc": [
9704
- "default.handlebars->29->893"
9707
+ "default.handlebars->29->900"
9708
]
9709
},
9710
{
@@ -9718,7 +9721,7 @@
9721
"ru": "Английский (Канада)",
9722
"zh-chs": "英文(加拿大)",
9723
"xloc": [
9721
- "default.handlebars->29->894"
9724
+ "default.handlebars->29->901"
9725
]
9726
},
9727
{
@@ -9735,7 +9738,7 @@
9738
"ru": "Английский (Ирландия)",
9739
"zh-chs": "英文(愛爾蘭)",
9740
"xloc": [
9738
- "default.handlebars->29->895"
9741
+ "default.handlebars->29->902"
9742
]
9743
},
9744
{
@@ -9752,7 +9755,7 @@
9755
"ru": "Английский (Ямайка)",
9756
"zh-chs": "英文(牙買加)",
9757
"xloc": [
9755
- "default.handlebars->29->896"
9758
+ "default.handlebars->29->903"
9759
]
9760
},
9761
{
@@ -9769,7 +9772,7 @@
9772
"ru": "Английский (Новая Зеландия)",
9773
"zh-chs": "英文(紐西蘭)",
9774
"xloc": [
9772
- "default.handlebars->29->897"
9775
+ "default.handlebars->29->904"
9776
]
9777
},
9778
{
@@ -9786,7 +9789,7 @@
9789
"ru": "Английский (Филиппины)",
9790
"zh-chs": "英文(菲律賓)",
9791
"xloc": [
9789
- "default.handlebars->29->898"
9792
+ "default.handlebars->29->905"
9793
]
9794
},
9795
{
@@ -9803,7 +9806,7 @@
9806
"ru": "Английский (Южная Африка)",
9807
"zh-chs": "英語(南非)",
9808
"xloc": [
9806
- "default.handlebars->29->899"
9809
+ "default.handlebars->29->906"
9810
]
9811
},
9812
{
@@ -9820,7 +9823,7 @@
9823
"ru": "Английский (Тринидад и Тобаго)",
9824
"zh-chs": "英文(特立尼達和多巴哥)",
9825
"xloc": [
9823
- "default.handlebars->29->900"
9826
+ "default.handlebars->29->907"
9827
]
9828
},
9829
{
@@ -9837,7 +9840,7 @@
9840
"ru": "Английский (Великобритания)",
9841
"zh-chs": "英文(英國)",
9842
"xloc": [
9840
- "default.handlebars->29->901"
9843
+ "default.handlebars->29->908"
9844
]
9845
},
9846
{
@@ -9854,7 +9857,7 @@
9857
"ru": "Английский (Соединенные Штаты)",
9858
"zh-chs": "美國英語)",
9859
"xloc": [
9857
- "default.handlebars->29->902"
9860
+ "default.handlebars->29->909"
9861
]
9862
},
9863
{
@@ -9871,7 +9874,7 @@
9874
"ru": "Английский (Зимбабве)",
9875
"zh-chs": "英文(津巴布韋)",
9876
"xloc": [
9874
- "default.handlebars->29->903"
9877
+ "default.handlebars->29->910"
9878
]
9879
},
9880
{
@@ -9888,8 +9891,8 @@
9891
"ru": "Ввод",
9892
"zh-chs": "輸入",
9893
"xloc": [
9891
- "default.handlebars->29->1084",
9892
- "default.handlebars->29->1085"
9894
+ "default.handlebars->29->1091",
9895
+ "default.handlebars->29->1092"
9896
]
9897
},
9898
{
@@ -9906,7 +9909,7 @@
9909
"ru": "Введите разделенный запятыми список имен административных областей.",
9910
"zh-chs": "輸入管理領域名稱的逗號分隔列表。",
9911
"xloc": [
9909
- "default.handlebars->29->1433"
9912
+ "default.handlebars->29->1442"
9913
]
9914
},
9915
{
@@ -9923,7 +9926,7 @@
9926
"ru": "Введите диапазон IP-адресов для сканирования Intel AMT устройств.",
9927
"zh-chs": "輸入IP地址範圍以掃描Intel AMT設備。",
9928
"xloc": [
9926
- "default.handlebars->29->243"
9929
+ "default.handlebars->29->245"
9930
]
9931
},
9932
{
@@ -9940,7 +9943,7 @@
9943
"ru": "Для удаленного набора введите текст, используя английскую раскладку и нажмите OK. Перед продолжением убедитесь, что курсор на удаленном компьютере установлен в правильное положение.",
9944
"zh-chs": "輸入文本,然後單擊“確定”以使用美式英語鍵盤遠程輸入文本。在繼續操作之前,請確保將遠程光標放置在正確的位置。",
9945
"xloc": [
9943
- "default.handlebars->29->680"
9946
+ "default.handlebars->29->682"
9947
]
9948
},
9949
{
@@ -10026,7 +10029,7 @@
10029
"ru": "Эсперанто",
10030
"zh-chs": "世界語",
10031
"xloc": [
10029
- "default.handlebars->29->904"
10032
+ "default.handlebars->29->911"
10033
]
10034
},
10035
{
@@ -10043,7 +10046,7 @@
10046
"ru": "Эстонский",
10047
"zh-chs": "愛沙尼亞語",
10048
"xloc": [
10046
- "default.handlebars->29->905"
10049
+ "default.handlebars->29->912"
10050
]
10051
},
10052
{
@@ -10060,7 +10063,7 @@
10063
"ru": "Детали события",
10064
"zh-chs": "活動詳情",
10065
"xloc": [
10063
- "default.handlebars->29->757"
10066
+ "default.handlebars->29->759"
10067
]
10068
},
10069
{
@@ -10077,7 +10080,7 @@
10080
"ru": "Экспорт списка событий",
10081
"zh-chs": "活動列表導出",
10082
"xloc": [
10080
- "default.handlebars->29->1361"
10083
+ "default.handlebars->29->1368"
10084
]
10085
},
10086
{
@@ -10132,7 +10135,7 @@
10135
"zh-chs": "使用此電子郵件地址的現有帳戶。",
10136
"xloc": [
10137
"login-mobile.handlebars->5->6",
10135
- "login.handlebars->5->6"
10138
+ "login.handlebars->5->7"
10139
]
10140
},
10141
{
@@ -10149,7 +10152,7 @@
10152
"ru": "Экспорт информации об устройстве",
10153
"zh-chs": "導出設備信息",
10154
"xloc": [
10152
- "default.handlebars->29->387"
10155
+ "default.handlebars->29->389"
10156
]
10157
},
10158
{
@@ -10166,7 +10169,7 @@
10169
"ru": "Расширенный ASCII",
10170
"zh-chs": "擴展ASCII",
10171
"xloc": [
10169
- "default.handlebars->29->706"
10172
+ "default.handlebars->29->708"
10173
]
10174
},
10175
{
@@ -10200,7 +10203,7 @@
10203
"ru": "Внешний",
10204
"zh-chs": "外部",
10205
"xloc": [
10203
- "default.handlebars->29->1660"
10206
+ "default.handlebars->29->1673"
10207
]
10208
},
10209
{
@@ -10217,7 +10220,7 @@
10220
"ru": "Mакедонский (БЮР)",
10221
"zh-chs": "FYRO馬其頓語",
10222
"xloc": [
10220
- "default.handlebars->29->955"
10223
+ "default.handlebars->29->962"
10224
]
10225
},
10226
{
@@ -10234,7 +10237,7 @@
10237
"ru": "Фарерский",
10238
"zh-chs": "法羅語",
10239
"xloc": [
10237
- "default.handlebars->29->906"
10240
+ "default.handlebars->29->913"
10241
]
10242
},
10243
{
@@ -10268,7 +10271,7 @@
10271
"ru": "Фарси (Персидский)",
10272
"zh-chs": "波斯語(波斯語)",
10273
"xloc": [
10271
- "default.handlebars->29->907"
10274
+ "default.handlebars->29->914"
10275
]
10276
},
10277
{
@@ -10303,7 +10306,7 @@
10306
"ru": "Функции",
10307
"zh-chs": "特徵",
10308
"xloc": [
10306
- "default.handlebars->29->1113"
10309
+ "default.handlebars->29->1120"
10310
]
10311
},
10312
{
@@ -10320,7 +10323,7 @@
10323
"ru": "Фиджи",
10324
"zh-chs": "斐濟",
10325
"xloc": [
10323
- "default.handlebars->29->908"
10326
+ "default.handlebars->29->915"
10327
]
10328
},
10329
{
@@ -10338,8 +10341,8 @@
10341
"zh-chs": "文件編輯器",
10342
"xloc": [
10343
"default-mobile.handlebars->9->255",
10341
- "default.handlebars->29->421",
10342
- "default.handlebars->29->729"
10344
+ "default.handlebars->29->423",
10345
+ "default.handlebars->29->731"
10346
]
10347
},
10348
{
@@ -10373,7 +10376,7 @@
10376
"ru": "Драйвер файловой системы",
10377
"zh-chs": "FileSystemDriver",
10378
"xloc": [
10376
- "default.handlebars->29->689"
10379
+ "default.handlebars->29->691"
10380
]
10381
},
10382
{
@@ -10390,7 +10393,7 @@
10393
"ru": "Файлы",
10394
"zh-chs": "檔案",
10395
"xloc": [
10393
- "default.handlebars->29->1202",
10396
+ "default.handlebars->29->1209",
10397
"default.handlebars->container->topbar->1->1->MainSubMenuSpan->MainSubMenu->1->0->MainDevFiles",
10398
"default.handlebars->contextMenu->cxfiles"
10399
]
@@ -10426,9 +10429,9 @@
10429
"ru": "Уведомление файлов",
10430
"zh-chs": "文件通知",
10431
"xloc": [
10429
- "default.handlebars->29->1121",
10430
- "default.handlebars->29->1546",
10431
- "default.handlebars->29->500"
10432
+ "default.handlebars->29->1128",
10433
+ "default.handlebars->29->1556",
10434
+ "default.handlebars->29->502"
10435
]
10436
},
10437
{
@@ -10445,9 +10448,9 @@
10448
"ru": "Запрос файлов",
10449
"zh-chs": "文件提示",
10450
"xloc": [
10448
- "default.handlebars->29->1120",
10449
- "default.handlebars->29->1545",
10450
- "default.handlebars->29->499"
10451
+ "default.handlebars->29->1127",
10452
+ "default.handlebars->29->1555",
10453
+ "default.handlebars->29->501"
10454
]
10455
},
10456
{
@@ -10482,7 +10485,7 @@
10485
"ru": "Финский",
10486
"zh-chs": "芬蘭",
10487
"xloc": [
10485
- "default.handlebars->29->909"
10488
+ "default.handlebars->29->916"
10489
]
10490
},
10491
{
@@ -10599,8 +10602,8 @@
10602
"ru": "Принудительно сбросить пароль при следующем входе в систему.",
10603
"zh-chs": "下次登錄時強制重置密碼。",
10604
"xloc": [
10602
- "default.handlebars->29->1427",
10603
- "default.handlebars->29->1575"
10605
+ "default.handlebars->29->1436",
10606
+ "default.handlebars->29->1588"
10607
]
10608
},
10609
{
@@ -10618,7 +10621,7 @@
10621
"zh-chs": "忘記密碼?",
10622
"xloc": [
10623
"login-mobile.handlebars->5->20",
10621
- "login.handlebars->5->20"
10624
+ "login.handlebars->5->21"
10625
]
10626
},
10627
{
@@ -10686,8 +10689,8 @@
10689
"ru": "Свободно",
10690
"zh-chs": "自由",
10691
"xloc": [
10689
- "default.handlebars->29->1621",
10690
- "default.handlebars->29->1623"
10692
+ "default.handlebars->29->1634",
10693
+ "default.handlebars->29->1636"
10694
]
10695
},
10696
{
@@ -10722,7 +10725,7 @@
10725
"ru": "Французский (Бельгия)",
10726
"zh-chs": "法語(比利時)",
10727
"xloc": [
10725
- "default.handlebars->29->911"
10728
+ "default.handlebars->29->918"
10729
]
10730
},
10731
{
@@ -10739,7 +10742,7 @@
10742
"ru": "Французский (Канада)",
10743
"zh-chs": "法語(加拿大)",
10744
"xloc": [
10742
- "default.handlebars->29->912"
10745
+ "default.handlebars->29->919"
10746
]
10747
},
10748
{
@@ -10756,7 +10759,7 @@
10759
"ru": "Французский (Франция)",
10760
"zh-chs": "法語(法國)",
10761
"xloc": [
10759
- "default.handlebars->29->913"
10762
+ "default.handlebars->29->920"
10763
]
10764
},
10765
{
@@ -10773,7 +10776,7 @@
10776
"ru": "Французский (Люксембург)",
10777
"zh-chs": "法語(盧森堡)",
10778
"xloc": [
10776
- "default.handlebars->29->914"
10779
+ "default.handlebars->29->921"
10780
]
10781
},
10782
{
@@ -10790,7 +10793,7 @@
10793
"ru": "Французский (Монако)",
10794
"zh-chs": "法語(摩納哥)",
10795
"xloc": [
10793
- "default.handlebars->29->915"
10796
+ "default.handlebars->29->922"
10797
]
10798
},
10799
{
@@ -10807,7 +10810,7 @@
10810
"ru": "Французский (Стандартный)",
10811
"zh-chs": "法語(標準)",
10812
"xloc": [
10810
- "default.handlebars->29->910"
10813
+ "default.handlebars->29->917"
10814
]
10815
},
10816
{
@@ -10824,7 +10827,7 @@
10827
"ru": "Французский (Швейцария)",
10828
"zh-chs": "法語(瑞士)",
10829
"xloc": [
10827
- "default.handlebars->29->916"
10830
+ "default.handlebars->29->923"
10831
]
10832
},
10833
{
@@ -10841,7 +10844,7 @@
10844
"ru": "Фризский",
10845
"zh-chs": "弗里斯蘭語",
10846
"xloc": [
10844
- "default.handlebars->29->917"
10847
+ "default.handlebars->29->924"
10848
]
10849
},
10850
{
@@ -10858,7 +10861,7 @@
10861
"ru": "Фриульский",
10862
"zh-chs": "弗留利",
10863
"xloc": [
10861
- "default.handlebars->29->918"
10864
+ "default.handlebars->29->925"
10865
]
10866
},
10867
{
@@ -10879,9 +10882,9 @@
10882
"default-mobile.handlebars->9->293",
10883
"default-mobile.handlebars->9->311",
10884
"default-mobile.handlebars->9->67",
10882
- "default.handlebars->29->1091",
10883
- "default.handlebars->29->1220",
10884
- "default.handlebars->29->1439"
10885
+ "default.handlebars->29->1098",
10886
+ "default.handlebars->29->1227",
10887
+ "default.handlebars->29->1448"
10888
]
10889
},
10890
{
@@ -10898,7 +10901,7 @@
10901
"ru": "Администратор с полным доступом (все права)",
10902
"zh-chs": "正式管理員(保留所有權利)",
10903
"xloc": [
10901
- "default.handlebars->29->1254"
10904
+ "default.handlebars->29->1261"
10905
]
10906
},
10907
{
@@ -10929,7 +10932,7 @@
10932
"ru": "Полные права на устройство",
10933
"zh-chs": "完整的設備權限",
10934
"xloc": [
10932
- "default.handlebars->29->560"
10935
+ "default.handlebars->29->562"
10936
]
10937
},
10938
{
@@ -10943,7 +10946,7 @@
10946
"ru": "Полные права",
10947
"zh-chs": "完全权利",
10948
"xloc": [
10946
- "default.handlebars->29->576"
10949
+ "default.handlebars->29->578"
10950
]
10951
},
10952
{
@@ -10979,7 +10982,7 @@
10982
"ru": "Администратор с полным доступом",
10983
"zh-chs": "正式管理員",
10984
"xloc": [
10982
- "default.handlebars->29->1516"
10985
+ "default.handlebars->29->1525"
10986
]
10987
},
10988
{
@@ -10996,7 +10999,7 @@
10999
"ru": "Гэльский (Ирландский)",
11000
"zh-chs": "蓋爾語(愛爾蘭)",
11001
"xloc": [
10999
- "default.handlebars->29->920"
11002
+ "default.handlebars->29->927"
11003
]
11004
},
11005
{
@@ -11013,7 +11016,7 @@
11016
"ru": "Гэльский (Шотландия)",
11017
"zh-chs": "蓋爾語(蘇格蘭語)",
11018
"xloc": [
11016
- "default.handlebars->29->919"
11019
+ "default.handlebars->29->926"
11020
]
11021
},
11022
{
@@ -11030,7 +11033,7 @@
11033
"ru": "Галицкий",
11034
"zh-chs": "加拉契人",
11035
"xloc": [
11033
- "default.handlebars->29->921"
11036
+ "default.handlebars->29->928"
11037
]
11038
},
11039
{
@@ -11103,7 +11106,7 @@
11106
"ru": "Общая информация",
11107
"zh-chs": "一般信息",
11108
"xloc": [
11106
- "default.handlebars->29->428"
11109
+ "default.handlebars->29->430"
11110
]
11111
},
11112
{
@@ -11137,7 +11140,7 @@
11140
"ru": "Грузинский",
11141
"zh-chs": "格魯吉亞人",
11142
"xloc": [
11140
- "default.handlebars->29->922"
11143
+ "default.handlebars->29->929"
11144
]
11145
},
11146
{
@@ -11154,7 +11157,7 @@
11157
"ru": "Немецкий (Австрия)",
11158
"zh-chs": "德語(奧地利)",
11159
"xloc": [
11157
- "default.handlebars->29->924"
11160
+ "default.handlebars->29->931"
11161
]
11162
},
11163
{
@@ -11171,7 +11174,7 @@
11174
"ru": "Немецкий (Германия)",
11175
"zh-chs": "德文(德國)",
11176
"xloc": [
11174
- "default.handlebars->29->925"
11177
+ "default.handlebars->29->932"
11178
]
11179
},
11180
{
@@ -11188,7 +11191,7 @@
11191
"ru": "Немецкий (Лихтенштейн)",
11192
"zh-chs": "德文(列支敦士登)",
11193
"xloc": [
11191
- "default.handlebars->29->926"
11194
+ "default.handlebars->29->933"
11195
]
11196
},
11197
{
@@ -11205,7 +11208,7 @@
11208
"ru": "Немецкий (Люксембург)",
11209
"zh-chs": "德語(盧森堡)",
11210
"xloc": [
11208
- "default.handlebars->29->927"
11211
+ "default.handlebars->29->934"
11212
]
11213
},
11214
{
@@ -11222,7 +11225,7 @@
11225
"ru": "Немецкий (Стандартный)",
11226
"zh-chs": "德語(標準)",
11227
"xloc": [
11225
- "default.handlebars->29->923"
11228
+ "default.handlebars->29->930"
11229
]
11230
},
11231
{
@@ -11239,7 +11242,7 @@
11242
"ru": "Немецкий (Швейцария)",
11243
"zh-chs": "德語(瑞士)",
11244
"xloc": [
11242
- "default.handlebars->29->928"
11245
+ "default.handlebars->29->935"
11246
]
11247
},
11248
{
@@ -11256,7 +11259,7 @@
11259
"ru": "Получить учетные данные MQTT для этого устройства.",
11260
"zh-chs": "獲取此設備的MQTT登錄憑據。",
11261
"xloc": [
11259
- "default.handlebars->29->541"
11262
+ "default.handlebars->29->543"
11263
]
11264
},
11265
{
@@ -11309,7 +11312,7 @@
11312
"ru": "Хорошо",
11313
"zh-chs": "好",
11314
"xloc": [
11312
- "default.handlebars->29->1087"
11315
+ "default.handlebars->29->1094"
11316
]
11317
},
11318
{
@@ -11328,8 +11331,8 @@
11331
"xloc": [
11332
"login-mobile.handlebars->5->25",
11333
"login-mobile.handlebars->5->29",
11331
- "login.handlebars->5->25",
11332
- "login.handlebars->5->29"
11334
+ "login.handlebars->5->28",
11335
+ "login.handlebars->5->32"
11336
]
11337
},
11338
{
@@ -11346,7 +11349,7 @@
11349
"ru": "Греческий",
11350
"zh-chs": "希臘語",
11351
"xloc": [
11349
- "default.handlebars->29->929"
11352
+ "default.handlebars->29->936"
11353
]
11354
},
11355
{
@@ -11364,7 +11367,7 @@
11367
"zh-chs": "組",
11368
"xloc": [
11369
"default-mobile.handlebars->9->137",
11367
- "default.handlebars->29->453",
11370
+ "default.handlebars->29->455",
11371
"default.handlebars->container->column_l->p1->devListToolbarSpan->1->0->9->devListToolbarSort->sortselect->1"
11372
]
11373
},
@@ -11382,9 +11385,9 @@
11385
"ru": "Групповое действие",
11386
"zh-chs": "集體行動",
11387
"xloc": [
11385
- "default.handlebars->29->1397",
11386
- "default.handlebars->29->1459",
11387
- "default.handlebars->29->390",
11388
+ "default.handlebars->29->1405",
11389
+ "default.handlebars->29->1468",
11390
+ "default.handlebars->29->392",
11391
"default.handlebars->container->column_l->p1->devListToolbarSpan->1->0->devListToolbar",
11392
"default.handlebars->container->column_l->p4->3->1->0->3->3",
11393
"default.handlebars->container->column_l->p50->3->1->0->3->3"
@@ -11404,7 +11407,7 @@
11407
"ru": "Члены группы",
11408
"zh-chs": "小組成員",
11409
"xloc": [
11407
- "default.handlebars->29->1479"
11410
+ "default.handlebars->29->1488"
11411
]
11412
},
11413
{
@@ -11421,7 +11424,7 @@
11424
"ru": "Права на группу для пользователя {0}.",
11425
"zh-chs": "用戶{0}的組權限。",
11426
"xloc": [
11424
- "default.handlebars->29->1219"
11427
+ "default.handlebars->29->1226"
11428
]
11429
},
11430
{
@@ -11438,7 +11441,7 @@
11441
"ru": "Права на группу для {0}.",
11442
"zh-chs": "{0}的組權限。",
11443
"xloc": [
11441
- "default.handlebars->29->1218"
11444
+ "default.handlebars->29->1225"
11445
]
11446
},
11447
{
@@ -11489,7 +11492,7 @@
11492
"ru": "Гуджарати",
11493
"zh-chs": "古久拉提",
11494
"xloc": [
11492
- "default.handlebars->29->930"
11495
+ "default.handlebars->29->937"
11496
]
11497
},
11498
{
@@ -11525,7 +11528,7 @@
11528
"ru": "Гаитянский",
11529
"zh-chs": "海地",
11530
"xloc": [
11528
- "default.handlebars->29->931"
11531
+ "default.handlebars->29->938"
11532
]
11533
},
11534
{
@@ -11559,7 +11562,7 @@
11562
"ru": "Жесткое отключение агента",
11563
"zh-chs": "硬斷開劑",
11564
"xloc": [
11562
- "default.handlebars->29->825"
11565
+ "default.handlebars->29->827"
11566
]
11567
},
11568
{
@@ -11576,7 +11579,7 @@
11579
"ru": "Всего кучи",
11580
"zh-chs": "堆總數",
11581
"xloc": [
11579
- "default.handlebars->29->1662"
11582
+ "default.handlebars->29->1675"
11583
]
11584
},
11585
{
@@ -11593,7 +11596,7 @@
11596
"ru": "Куча используется",
11597
"zh-chs": "堆使用",
11598
"xloc": [
11596
- "default.handlebars->29->1661"
11599
+ "default.handlebars->29->1674"
11600
]
11601
},
11602
{
@@ -11610,7 +11613,7 @@
11613
"ru": "Иврит",
11614
"zh-chs": "希伯來語",
11615
"xloc": [
11613
- "default.handlebars->29->932"
11616
+ "default.handlebars->29->939"
11617
]
11618
},
11619
{
@@ -11642,7 +11645,7 @@
11645
"ru": "Помочь перевести MeshCentral",
11646
"zh-chs": "幫助翻譯MeshCentral",
11647
"xloc": [
11645
- "default.handlebars->29->1046"
11648
+ "default.handlebars->29->1053"
11649
]
11650
},
11651
{
@@ -11704,7 +11707,7 @@
11707
"xloc": [
11708
"default-mobile.handlebars->9->107",
11709
"default-mobile.handlebars->9->114",
11707
- "default.handlebars->29->354",
11710
+ "default.handlebars->29->356",
11711
"default.handlebars->29->5"
11712
]
11713
},
@@ -11722,7 +11725,7 @@
11725
"ru": "Хинди",
11726
"zh-chs": "印地語",
11727
"xloc": [
11725
- "default.handlebars->29->933"
11728
+ "default.handlebars->29->940"
11729
]
11730
},
11731
{
@@ -11758,7 +11761,7 @@
11761
"zh-chs": "持有1份副本",
11762
"xloc": [
11763
"default-mobile.handlebars->9->264",
11761
- "default.handlebars->29->738"
11764
+ "default.handlebars->29->740"
11765
]
11766
},
11767
{
@@ -11776,7 +11779,7 @@
11779
"zh-chs": "持有1個搬家公司",
11780
"xloc": [
11781
"default-mobile.handlebars->9->268",
11779
- "default.handlebars->29->742"
11782
+ "default.handlebars->29->744"
11783
]
11784
},
11785
{
@@ -11794,7 +11797,7 @@
11797
"zh-chs": "保留{0}個條目進行複制",
11798
"xloc": [
11799
"default-mobile.handlebars->9->262",
11797
- "default.handlebars->29->736"
11800
+ "default.handlebars->29->738"
11801
]
11802
},
11803
{
@@ -11812,7 +11815,7 @@
11815
"zh-chs": "保留{0}個條目以進行移動",
11816
"xloc": [
11817
"default-mobile.handlebars->9->266",
11815
- "default.handlebars->29->740"
11818
+ "default.handlebars->29->742"
11819
]
11820
},
11821
{
@@ -11830,7 +11833,7 @@
11833
"zh-chs": "保持{2}的{0}入口{1}",
11834
"xloc": [
11835
"default-mobile.handlebars->9->91",
11833
- "default.handlebars->29->1348"
11836
+ "default.handlebars->29->1355"
11837
]
11838
},
11839
{
@@ -11851,9 +11854,9 @@
11854
"default-mobile.handlebars->9->140",
11855
"default-mobile.handlebars->9->142",
11856
"default-mobile.handlebars->9->226",
11854
- "default.handlebars->29->229",
11855
- "default.handlebars->29->458",
11856
- "default.handlebars->29->666"
11857
+ "default.handlebars->29->231",
11858
+ "default.handlebars->29->460",
11859
+ "default.handlebars->29->668"
11860
]
11861
},
11862
{
@@ -11870,7 +11873,7 @@
11873
"ru": "Синхронизация имени хоста",
11874
"zh-chs": "主機名同步",
11875
"xloc": [
11873
- "default.handlebars->29->1111"
11876
+ "default.handlebars->29->1118"
11877
]
11878
},
11879
{
@@ -11887,7 +11890,7 @@
11890
"ru": "Венгерский",
11891
"zh-chs": "匈牙利",
11892
"xloc": [
11890
- "default.handlebars->29->934"
11893
+ "default.handlebars->29->941"
11894
]
11895
},
11896
{
@@ -11904,7 +11907,7 @@
11907
"ru": "Диапазон IP",
11908
"zh-chs": "IP範圍",
11909
"xloc": [
11907
- "default.handlebars->29->244"
11910
+ "default.handlebars->29->246"
11911
]
11912
},
11913
{
@@ -11922,7 +11925,7 @@
11925
"zh-chs": "IP位址已封鎖,請稍後再試。",
11926
"xloc": [
11927
"login-mobile.handlebars->5->18",
11925
- "login.handlebars->5->18"
11928
+ "login.handlebars->5->19"
11929
]
11930
},
11931
{
@@ -11939,7 +11942,7 @@
11942
"ru": "IP: {0}",
11943
"zh-chs": "IP:{0}",
11944
"xloc": [
11942
- "default.handlebars->29->778"
11945
+ "default.handlebars->29->780"
11946
]
11947
},
11948
{
@@ -11956,7 +11959,7 @@
11959
"ru": "IP: {0}, маска: {1}, шлюз: {2}",
11960
"zh-chs": "IP:{0},掩碼:{1},網關:{2}",
11961
"xloc": [
11959
- "default.handlebars->29->776"
11962
+ "default.handlebars->29->778"
11963
]
11964
},
11965
{
@@ -11973,8 +11976,8 @@
11976
"ru": "Уровень IPv4",
11977
"zh-chs": "IPv4層",
11978
"xloc": [
11976
- "default.handlebars->29->775",
11977
- "default.handlebars->29->777"
11979
+ "default.handlebars->29->777",
11980
+ "default.handlebars->29->779"
11981
]
11982
},
11983
{
@@ -12042,7 +12045,7 @@
12045
"ru": "Исландский",
12046
"zh-chs": "冰島的",
12047
"xloc": [
12045
- "default.handlebars->29->935"
12048
+ "default.handlebars->29->942"
12049
]
12050
},
12051
{
@@ -12060,7 +12063,7 @@
12063
"zh-chs": "圖標選擇",
12064
"xloc": [
12065
"default-mobile.handlebars->9->224",
12063
- "default.handlebars->29->664"
12066
+ "default.handlebars->29->666"
12067
]
12068
},
12069
{
@@ -12077,7 +12080,7 @@
12080
"ru": "Идентификатор",
12081
"zh-chs": "識別碼",
12082
"xloc": [
12080
- "default.handlebars->29->803"
12083
+ "default.handlebars->29->805"
12084
]
12085
},
12086
{
@@ -12159,7 +12162,7 @@
12162
"zh-chs": "个别装置",
12163
"xloc": [
12164
"default-mobile.handlebars->9->96",
12162
- "default.handlebars->29->170"
12165
+ "default.handlebars->29->172"
12166
]
12167
},
12168
{
@@ -12176,7 +12179,7 @@
12179
"ru": "Индонезийский",
12180
"zh-chs": "印度尼西亞",
12181
"xloc": [
12179
- "default.handlebars->29->936"
12182
+ "default.handlebars->29->943"
12183
]
12184
},
12185
{
@@ -12291,7 +12294,7 @@
12294
"ru": "Установка CIRA",
12295
"zh-chs": "安裝CIRA",
12296
"xloc": [
12294
- "default.handlebars->29->1144"
12297
+ "default.handlebars->29->1151"
12298
]
12299
},
12300
{
@@ -12308,7 +12311,7 @@
12311
"ru": "Локальная установка",
12312
"zh-chs": "安裝本地",
12313
"xloc": [
12311
- "default.handlebars->29->1146"
12314
+ "default.handlebars->29->1153"
12315
]
12316
},
12317
{
@@ -12325,10 +12328,10 @@
12328
"ru": "Тип установки",
12329
"zh-chs": "安裝類型",
12330
"xloc": [
12328
- "default.handlebars->29->1285",
12331
"default.handlebars->29->1292",
12330
- "default.handlebars->29->291",
12331
- "default.handlebars->29->313"
12332
+ "default.handlebars->29->1299",
12333
+ "default.handlebars->29->293",
12334
+ "default.handlebars->29->315"
12335
]
12336
},
12337
{
@@ -12345,7 +12348,7 @@
12348
"ru": "Intel (F10 = ESC+[OM)",
12349
"zh-chs": "英特爾(F10 = ESC + [OM)",
12350
"xloc": [
12348
- "default.handlebars->29->708",
12351
+ "default.handlebars->29->710",
12352
"default.handlebars->container->column_l->p12->termTable->1->1->6->1->1->terminalSettingsButtons"
12353
]
12354
},
@@ -12363,10 +12366,10 @@
12366
"ru": "Intel AMT",
12367
"zh-chs": "英特爾AMT",
12368
"xloc": [
12366
- "default.handlebars->29->1304",
12367
- "default.handlebars->29->1312",
12368
- "default.handlebars->29->1658",
12369
- "default.handlebars->29->1680"
12369
+ "default.handlebars->29->1311",
12370
+ "default.handlebars->29->1319",
12371
+ "default.handlebars->29->1671",
12372
+ "default.handlebars->29->1693"
12373
]
12374
},
12375
{
@@ -12383,7 +12386,7 @@
12386
"ru": "Подключен Intel AMT CIRA",
12387
"zh-chs": "英特爾AMT CIRA已連接",
12388
"xloc": [
12386
- "default.handlebars->29->143"
12389
+ "default.handlebars->29->145"
12390
]
12391
},
12392
{
@@ -12400,7 +12403,7 @@
12403
"ru": "Отключен Intel AMT CIRA",
12404
"zh-chs": "英特爾AMT CIRA斷開連接",
12405
"xloc": [
12403
- "default.handlebars->29->147"
12406
+ "default.handlebars->29->149"
12407
]
12408
},
12409
{
@@ -12417,7 +12420,7 @@
12420
"ru": "Обнаружен Intel AMT",
12421
"zh-chs": "檢測到英特爾AMT",
12422
"xloc": [
12420
- "default.handlebars->29->142"
12423
+ "default.handlebars->29->144"
12424
]
12425
},
12426
{
@@ -12434,7 +12437,7 @@
12437
"ru": "Intel AMT активирован в режиме администратора",
12438
"zh-chs": "在管理控制模式下激活了Intel AMT",
12439
"xloc": [
12437
- "default.handlebars->29->472"
12440
+ "default.handlebars->29->474"
12441
]
12442
},
12443
{
@@ -12451,7 +12454,7 @@
12454
"ru": "Intel AMT активирован в режиме клиента",
12455
"zh-chs": "英特爾AMT在客戶端控制模式下被激活",
12456
"xloc": [
12454
- "default.handlebars->29->470"
12457
+ "default.handlebars->29->472"
12458
]
12459
},
12460
{
@@ -12468,7 +12471,7 @@
12471
"ru": "Intel AMT настроен с TLS безопасностью сети",
12472
"zh-chs": "英特爾AMT已設置TLS網絡安全性",
12473
"xloc": [
12471
- "default.handlebars->29->474"
12474
+ "default.handlebars->29->476"
12475
]
12476
},
12477
{
@@ -12485,7 +12488,7 @@
12488
"ru": "Intel AMT не обнаружен",
12489
"zh-chs": "未檢測到英特爾AMT",
12490
"xloc": [
12488
- "default.handlebars->29->146"
12491
+ "default.handlebars->29->148"
12492
]
12493
},
12494
{
@@ -12502,7 +12505,7 @@
12505
"ru": "Intel AMT необходимо установить с доверенным FQDN в MEBx или иметь кабельное подключение к локальной сети:",
12506
"zh-chs": "英特爾AMT將需要在MEBx中設置為受信任的FQDN,或者在網絡上具有有線局域網:",
12507
"xloc": [
12505
- "default.handlebars->29->241"
12508
+ "default.handlebars->29->243"
12509
]
12510
},
12511
{
@@ -12519,7 +12522,7 @@
12522
"ru": "Intel ASCII",
12523
"zh-chs": "英特爾ASCII",
12524
"xloc": [
12522
- "default.handlebars->29->707"
12525
+ "default.handlebars->29->709"
12526
]
12527
},
12528
{
@@ -12539,11 +12542,11 @@
12542
"default-mobile.handlebars->9->126",
12543
"default-mobile.handlebars->9->190",
12544
"default-mobile.handlebars->9->195",
12542
- "default.handlebars->29->1128",
12543
- "default.handlebars->29->1138",
12544
- "default.handlebars->29->431",
12545
- "default.handlebars->29->482",
12546
- "default.handlebars->29->510"
12545
+ "default.handlebars->29->1135",
12546
+ "default.handlebars->29->1145",
12547
+ "default.handlebars->29->433",
12548
+ "default.handlebars->29->484",
12549
+ "default.handlebars->29->512"
12550
]
12551
},
12552
{
@@ -12561,7 +12564,7 @@
12564
"zh-chs": "英特爾®AMT CIRA",
12565
"xloc": [
12566
"default-mobile.handlebars->9->194",
12564
- "default.handlebars->29->508"
12567
+ "default.handlebars->29->510"
12568
]
12569
},
12570
{
@@ -12578,9 +12581,9 @@
12581
"ru": "Intel® AMT CIRA подключен и готов к использованию.",
12582
"zh-chs": "英特爾®AMT CIRA已連接並可以使用。",
12583
"xloc": [
12581
- "default.handlebars->29->175",
12582
- "default.handlebars->29->368",
12583
- "default.handlebars->29->507"
12584
+ "default.handlebars->29->177",
12585
+ "default.handlebars->29->370",
12586
+ "default.handlebars->29->509"
12587
]
12588
},
12589
{
@@ -12616,7 +12619,7 @@
12619
"ru": "Политика Intel® AMT",
12620
"zh-chs": "英特爾®AMT政策",
12621
"xloc": [
12619
- "default.handlebars->29->1167"
12622
+ "default.handlebars->29->1174"
12623
]
12624
},
12625
{
@@ -12650,7 +12653,7 @@
12653
"ru": "Intel® AMT Тег",
12654
"zh-chs": "英特爾®AMT標籤",
12655
"xloc": [
12653
- "default.handlebars->29->486"
12656
+ "default.handlebars->29->488"
12657
]
12658
},
12659
{
@@ -12684,8 +12687,8 @@
12687
"ru": "Активация Intel® AMT",
12688
"zh-chs": "英特爾®AMT激活",
12689
"xloc": [
12687
- "default.handlebars->29->239",
12688
- "default.handlebars->29->242"
12690
+ "default.handlebars->29->241",
12691
+ "default.handlebars->29->244"
12692
]
12693
},
12694
{
@@ -12703,8 +12706,8 @@
12706
"zh-chs": "英特爾®AMT已連接",
12707
"xloc": [
12708
"default-mobile.handlebars->9->204",
12706
- "default.handlebars->29->545",
12707
- "default.handlebars->29->546"
12709
+ "default.handlebars->29->547",
12710
+ "default.handlebars->29->548"
12711
]
12712
},
12713
{
@@ -12721,8 +12724,8 @@
12724
"ru": "События Intel® AMT desktop или serial.",
12725
"zh-chs": "英特爾®AMT桌面和串行事件。",
12726
"xloc": [
12724
- "default.handlebars->29->1052",
12725
- "default.handlebars->29->1300"
12727
+ "default.handlebars->29->1059",
12728
+ "default.handlebars->29->1307"
12729
]
12730
},
12731
{
@@ -12740,8 +12743,8 @@
12743
"zh-chs": "檢測到英特爾®AMT",
12744
"xloc": [
12745
"default-mobile.handlebars->9->205",
12743
- "default.handlebars->29->547",
12744
- "default.handlebars->29->548"
12746
+ "default.handlebars->29->549",
12747
+ "default.handlebars->29->550"
12748
]
12749
},
12750
{
@@ -12758,7 +12761,7 @@
12761
"ru": "Intel® AMT маршрутизируется и готов к использованию.",
12762
"zh-chs": "英特爾®AMT可路由並可以使用。",
12763
"xloc": [
12761
- "default.handlebars->29->509"
12764
+ "default.handlebars->29->511"
12765
]
12766
},
12767
{
@@ -12775,8 +12778,8 @@
12778
"ru": "Intel® AMT маршрутизируется.",
12779
"zh-chs": "英特爾®AMT是可路由的。",
12780
"xloc": [
12778
- "default.handlebars->29->177",
12779
- "default.handlebars->29->370"
12781
+ "default.handlebars->29->179",
12782
+ "default.handlebars->29->372"
12783
]
12784
},
12785
{
@@ -12811,8 +12814,8 @@
12814
"zh-chs": "僅限英特爾®AMT,無代理",
12815
"xloc": [
12816
"default-mobile.handlebars->9->275",
12814
- "default.handlebars->29->1081",
12815
- "default.handlebars->29->1105"
12817
+ "default.handlebars->29->1088",
12818
+ "default.handlebars->29->1112"
12819
]
12820
},
12821
{
@@ -12829,7 +12832,7 @@
12832
"ru": "Технология Intel® Active Management",
12833
"zh-chs": "英特爾®主動管理技術",
12834
"xloc": [
12832
- "default.handlebars->29->481"
12835
+ "default.handlebars->29->483"
12836
]
12837
},
12838
{
@@ -12846,7 +12849,7 @@
12849
"ru": "Intel® Active Management Technology (Intel® AMT)",
12850
"zh-chs": "英特爾®主動管理技術(英特爾®AMT)",
12851
"xloc": [
12849
- "default.handlebars->29->795"
12852
+ "default.handlebars->29->797"
12853
]
12854
},
12855
{
@@ -12864,7 +12867,7 @@
12867
"zh-chs": "英特爾®ME",
12868
"xloc": [
12869
"default-mobile.handlebars->9->189",
12867
- "default.handlebars->29->480"
12870
+ "default.handlebars->29->482"
12871
]
12872
},
12873
{
@@ -12882,7 +12885,7 @@
12885
"zh-chs": "英特爾®SM",
12886
"xloc": [
12887
"default-mobile.handlebars->9->191",
12885
- "default.handlebars->29->484"
12888
+ "default.handlebars->29->486"
12889
]
12890
},
12891
{
@@ -12899,7 +12902,7 @@
12902
"ru": "Intel® Standard Manageability",
12903
"zh-chs": "英特爾®標準可管理性",
12904
"xloc": [
12902
- "default.handlebars->29->483"
12905
+ "default.handlebars->29->485"
12906
]
12907
},
12908
{
@@ -13000,7 +13003,7 @@
13003
"ru": "Интерактивный",
13004
"zh-chs": "互動",
13005
"xloc": [
13003
- "default.handlebars->29->690"
13006
+ "default.handlebars->29->692"
13007
]
13008
},
13009
{
@@ -13017,10 +13020,10 @@
13020
"ru": "Только интерактивный режим",
13021
"zh-chs": "僅限互動",
13022
"xloc": [
13020
- "default.handlebars->29->1288",
13023
"default.handlebars->29->1295",
13022
- "default.handlebars->29->294",
13023
- "default.handlebars->29->316"
13024
+ "default.handlebars->29->1302",
13025
+ "default.handlebars->29->296",
13026
+ "default.handlebars->29->318"
13027
]
13028
},
13029
{
@@ -13037,7 +13040,7 @@
13040
"ru": "Интерфейсы",
13041
"zh-chs": "介面",
13042
"xloc": [
13040
- "default.handlebars->29->528"
13043
+ "default.handlebars->29->530"
13044
]
13045
},
13046
{
@@ -13054,7 +13057,7 @@
13057
"ru": "Инуктитут",
13058
"zh-chs": "因紐特人",
13059
"xloc": [
13057
- "default.handlebars->29->937"
13060
+ "default.handlebars->29->944"
13061
]
13062
},
13063
{
@@ -13071,7 +13074,7 @@
13074
"ru": "Некорректный тип группы устройств",
13075
"zh-chs": "無效的設備組類型",
13076
"xloc": [
13074
- "default.handlebars->29->1635"
13077
+ "default.handlebars->29->1648"
13078
]
13079
},
13080
{
@@ -13088,7 +13091,7 @@
13091
"ru": "Некорректный JSON",
13092
"zh-chs": "無效的JSON",
13093
"xloc": [
13091
- "default.handlebars->29->1629"
13094
+ "default.handlebars->29->1642"
13095
]
13096
},
13097
{
@@ -13105,8 +13108,8 @@
13108
"ru": "Некорректный формат файла JSON.",
13109
"zh-chs": "無效的JSON文件格式。",
13110
"xloc": [
13108
- "default.handlebars->29->1408",
13109
- "default.handlebars->29->1410"
13111
+ "default.handlebars->29->1417",
13112
+ "default.handlebars->29->1419"
13113
]
13114
},
13115
{
@@ -13123,7 +13126,7 @@
13126
"ru": "Некорректный файл JSON: {0}.",
13127
"zh-chs": "無效的JSON文件:{0}。",
13128
"xloc": [
13126
- "default.handlebars->29->1406"
13129
+ "default.handlebars->29->1415"
13130
]
13131
},
13132
{
@@ -13140,7 +13143,7 @@
13143
"ru": "Некорректная сигнатура PKCS",
13144
"zh-chs": "無效的PKCS簽名",
13145
"xloc": [
13143
- "default.handlebars->29->1627"
13146
+ "default.handlebars->29->1640"
13147
]
13148
},
13149
{
@@ -13157,7 +13160,7 @@
13160
"ru": "Некорректная сигнатура RSA",
13161
"zh-chs": "無效的RSA密碼",
13162
"xloc": [
13160
- "default.handlebars->29->1628"
13163
+ "default.handlebars->29->1641"
13164
]
13165
},
13166
{
@@ -13175,7 +13178,7 @@
13178
"zh-chs": "無效的帳戶創建令牌。",
13179
"xloc": [
13180
"login-mobile.handlebars->5->7",
13178
- "login.handlebars->5->7"
13181
+ "login.handlebars->5->8"
13182
]
13183
},
13184
{
@@ -13193,7 +13196,7 @@
13196
"zh-chs": "不合規電郵。",
13197
"xloc": [
13198
"login-mobile.handlebars->5->10",
13196
- "login.handlebars->5->10"
13199
+ "login.handlebars->5->11"
13200
]
13201
},
13202
{
@@ -13228,7 +13231,7 @@
13231
"zh-chs": "令牌無效,請重試。",
13232
"xloc": [
13233
"login-mobile.handlebars->5->12",
13231
- "login.handlebars->5->12"
13234
+ "login.handlebars->5->13"
13235
]
13236
},
13237
{
@@ -13259,7 +13262,7 @@
13262
"ru": "Ссылка для приглашения ({0})",
13263
"zh-chs": "邀請鏈接({0})",
13264
"xloc": [
13262
- "default.handlebars->29->163"
13265
+ "default.handlebars->29->165"
13266
]
13267
},
13268
{
@@ -13276,7 +13279,7 @@
13279
"ru": "Тип приглашения",
13280
"zh-chs": "邀請類型",
13281
"xloc": [
13279
- "default.handlebars->29->271"
13282
+ "default.handlebars->29->273"
13283
]
13284
},
13285
{
@@ -13293,7 +13296,7 @@
13296
"ru": "Коды приглашений могут использоваться любым пользователем для присоединения устройств к этой группе устройств по следующей общедоступной ссылке:",
13297
"zh-chs": "任何人都可以使用邀請代碼通過以下公共鏈接將設備加入該設備組:",
13298
"xloc": [
13296
- "default.handlebars->29->1290"
13299
+ "default.handlebars->29->1297"
13300
]
13301
},
13302
{
@@ -13324,9 +13327,9 @@
13327
"ru": "Пригласить",
This file is too large to show in full.
views/default.handlebars
+16
-13
@@ -306,7 +306,7 @@
306
<div id="p2AccountSecurity" style="display:none">
307
<p><strong>Account security</strong></p>
308
<div style="margin-left:25px">
309
- <div id="managePhoneNumber"><div class="p2AccountActions"><span id="authPhoneNumberCheck"><strong>✓</strong></span></div><span><a href=# onclick="return account_managePhone()">Manage phone number</a><br /></span></div>
309
+ <div id="managePhoneNumber1"><div class="p2AccountActions"><span id="authPhoneNumberCheck"><strong>✓</strong></span></div><span><a href=# onclick="return account_managePhone()">Manage phone number</a><br /></span></div>
310
<div id="manageEmail2FA"><div class="p2AccountActions"><span id="authEmailSetupCheck"><strong>✓</strong></span></div><span><a href=# onclick="return account_manageAuthEmail()">Manage email authentication</a><br /></span></div>
311
<div id="manageAuthApp"><div class="p2AccountActions"><span id="authAppSetupCheck"><strong>✓</strong></span></div><span><a href=# onclick="return account_manageAuthApp()">Manage authenticator app</a><br /></span></div>
312
<div id="manageHardwareOtp"><div class="p2AccountActions"><span id="authKeySetupCheck"><strong>✓</strong></span></div><span><a href=# onclick="return account_manageHardwareOtp(0)">Manage security keys</a><br /></span></div>
@@ -316,6 +316,7 @@
316
<div id="p2AccountActions">
317
<p><strong>Account actions</strong></p>
318
<p class="mL">
319
+ <span id="managePhoneNumber2" style="display:none"><a href=# onclick="return account_managePhone()">Manage phone number</a><br /></span>
320
<span id="verifyEmailId" style="display:none"><a href=# onclick="return account_showVerifyEmail()">Verify email</a><br /></span>
321
<span id="accountEnableNotificationsSpan" style="display:none"><a href=# onclick="return account_enableNotifications()">Enable web notifications</a><br /></span>
322
<a href=# onclick="return account_showLocalizationSettings()">Localization Settings</a><br />
@@ -1609,7 +1610,8 @@
1610
1611
// Update account actions
1612
QV('p2AccountSecurity', ((features & 4) == 0) && (serverinfo.domainauth == false) && ((features & 4096) != 0)); // Hide Account Security if in single user mode, domain authentication to 2 factor auth not supported.
1612
- QV('managePhoneNumber', features & 0x02000000);
1613
+ QV('managePhoneNumber1', (features & 0x02000000) && (features & 0x04000000));
1614
+ QV('managePhoneNumber2', (features & 0x02000000) && !(features & 0x04000000));
1615
QV('manageEmail2FA', features & 0x00800000);
1616
QV('p2AccountPassActions', ((features & 4) == 0) && (serverinfo.domainauth == false)); // Hide Account Actions if in single user mode or domain authentication
1617
//QV('p2AccountImage', ((features & 4) == 0) && (serverinfo.domainauth == false)); // If account actions are not visible, also remove the image on that panel
@@ -1691,6 +1693,7 @@
1693
// Check if none or at least 2 factors are enabled.
1694
var authFactorCount = 0;
1695
if ((features & 0x00800000) && (userinfo.otpekey == 1)) { authFactorCount += 1; }
1696
+ if ((features & 0x02000000) && (features & 0x04000000) && (userinfo.phone != null)) { authFactorCount += 1; }
1697
if (userinfo.otpkeys == 1) { authFactorCount += 1; }
1698
if (userinfo.otpsecret == 1) { authFactorCount += 1; }
1699
if (userinfo.otphkeys != null) { authFactorCount += userinfo.otphkeys; }
@@ -2189,7 +2192,7 @@
2192
if (xxdialogMode && (xxdialogTag != 'verifyPhone')) return;
2193
var x = '<table><tr><td><img src="images/phone80.png" style=padding:8px>';
2194
x += '<td>Check your phone and enter the verification code.';
2192
- x += '<br /><br /><div style=width:100%;text-align:center>' + "Verification code:" + ' <input type=tel pattern="[0-9]" inputmode="number" maxlength=8 id=d2phoneCodeInput onKeyUp=account_managePhoneCodeValidate() onkeypress="if (event.key==\'Enter\') account_managePhoneCodeValidate(1)"></div></table>';
2195
+ x += '<br /><br /><div style=width:100%;text-align:center>' + "Verification code:" + ' <input type=tel pattern="[0-9]" inputmode="number" maxlength=6 id=d2phoneCodeInput onKeyUp=account_managePhoneCodeValidate() onkeypress="if (event.key==\'Enter\') account_managePhoneCodeValidate(1)"></div></table>';
2196
setDialogMode(2, "Phone Notifications", 3, account_managePhoneConfirm, x, message.cookie);
2197
Q('d2phoneCodeInput').focus();
2198
account_managePhoneCodeValidate();
@@ -7896,17 +7899,17 @@
7899
} else {
7900
x = '<table style=width:100%><tr><td style=width:56px><img src="images/phone80.png" style=padding:8px>';
7901
x += '<td>Enter your SMS capable phone number. Once verified, the number may be used for login verification and other notifications.';
7899
- x += '<br /><br /><div style=width:100%;text-align:center>' + "Phone number:" + ' <input type=tel pattern="[0-9]{9}" autocomplete="tel" inputmode="tel" maxlength=18 id=d2phoneinput onKeyUp=account_managePhoneValidate() onkeypress="if (event.key==\'Enter\') account_managePhoneValidate(1)"></div></table>';
7902
+ x += '<br /><br /><div style=width:100%;text-align:center>' + "Phone number:" + ' <input type=tel pattern="[0-9]" autocomplete="tel" inputmode="tel" maxlength=18 id=d2phoneinput onKeyUp=account_managePhoneValidate() onkeypress="if (event.key==\'Enter\') account_managePhoneValidate(1)"></div></table>';
7903
setDialogMode(2, "Phone Notifications", 3, account_managePhoneAdd, x, 'verifyPhone');
7904
Q('d2phoneinput').focus();
7905
account_managePhoneValidate();
7906
}
7907
}
7908
7906
- function isPhoneNumber(x) { return x.match(/^\(?([0-9]{3})\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$/) }
7909
+ function isPhoneNumber(x) { return x.match(/^\(?([0-9]{3,4})\)?[-. ]?([0-9]{3})[-. ]?([0-9]{4})$/) }
7910
function account_managePhoneValidate(x) { var ok = isPhoneNumber(Q('d2phoneinput').value); QE('idx_dlgOkButton', ok); if ((x == 1) && ok) { dialogclose(1); } }
7908
- function account_managePhoneCodeValidate(x) { var ok = Q('d2phoneCodeInput').value.match(/[0-9]/); QE('idx_dlgOkButton', ok); if ((x == 1) && ok) { dialogclose(1); } }
7909
- function account_managePhoneConfirm(b, tag) { meshserver.send({ action: 'confirmPhone', code: parseInt(Q('d2phoneCodeInput').value), cookie: tag }); }
7911
+ function account_managePhoneCodeValidate(x) { var ok = (Q('d2phoneCodeInput').value.length == 6) && Q('d2phoneCodeInput').value.match(/[0-9]/); QE('idx_dlgOkButton', ok); if ((x == 1) && ok) { dialogclose(1); } }
7912
+ function account_managePhoneConfirm(b, tag) { meshserver.send({ action: 'confirmPhone', code: Q('d2phoneCodeInput').value, cookie: tag }); }
7913
function account_managePhoneAdd() { if (isPhoneNumber(Q('d2phoneinput').value) == false) return; QE('d2phoneinput', false); meshserver.send({ action: 'verifyPhone', phone: Q('d2phoneinput').value }); }
7914
function account_managePhoneRemove() { if (Q('d2delPhone').checked) { meshserver.send({ action: 'removePhone' }); } }
7915
function account_managePhoneRemoveValidate() { QE('idx_dlgOkButton', Q('d2delPhone').checked); }
@@ -8159,7 +8162,7 @@
8162
if ((userinfo.emailVerified !== true) && (serverinfo.emailcheck == true) && (userinfo.siteadmin != 0xFFFFFFFF)) { setDialogMode(2, "Account Security", 1, null, "Unable to access a device until a email address is verified. This is required for password recovery. Go to the \"My Account\" tab to change and verify an email address."); return false; }
8163
8164
// Remind the user to add two factor authentication
8162
- if ((features & 0x00040000) && !((userinfo.otpsecret == 1) || (userinfo.otphkeys > 0) || (userinfo.otpkeys > 0) || ((features & 0x00800000) && (userinfo.otpekey == 1)))) { setDialogMode(2, "Account Security", 1, null, "Unable to access a device until two-factor authentication is enabled. This is required for extra security. Go to the \"My Account\" tab and look at the \"Account Security\" section."); return false; }
8165
+ if ((features & 0x00040000) && !((userinfo.otpsecret == 1) || (userinfo.otphkeys > 0) || (userinfo.otpkeys > 0) || ((features & 0x02000000) && (features & 0x04000000) && (userinfo.phone != null)) || ((features & 0x00800000) && (userinfo.otpekey == 1)))) { setDialogMode(2, "Account Security", 1, null, "Unable to access a device until two-factor authentication is enabled. This is required for extra security. Go to the \"My Account\" tab and look at the \"Account Security\" section."); return false; }
8166
8167
// We are allowed, let's prompt to information
8168
var x = "Create a new device group using the options below." + '<br /><br />';
@@ -9798,10 +9801,9 @@
9801
}
9802
}
9803
9801
- if ((user.otpsecret > 0) || (user.otphkeys > 0)) { username += ' <img src="images/key12.png" height=12 width=11 title="' + "2nd factor authentication enabled" + '" style="margin-top:2px" />'; }
9804
+ if ((user.otpsecret > 0) || (user.otphkeys > 0) || ((user.otpekey == 1) && (features & 0x00800000)) || ((user.phone != null) && (features & 0x04000000))) { username += ' <img src="images/key12.png" height=12 width=11 title="' + "2nd factor authentication enabled" + '" style="margin-top:2px" />'; }
9805
if (user.phone != null) { username += ' <img src="images/phone12.png" height=12 width=7 title="' + "Verified phone number" + '" style="margin-top:2px" />'; }
9806
if ((user.siteadmin != null) && ((user.siteadmin & 32) != 0) && (user.siteadmin != 0xFFFFFFFF)) { username += ' <img src="images/padlock12.png" height=12 width=8 title="' + "Account is locked" + '" style="margin-top:2px" />'; }
9804
-
9807
x += '<tr tabindex=0 onmouseover=userMouseHover(this,1) onmouseout=userMouseHover(this,0) onkeypress="if (event.key==\'Enter\') gotoUser(\'' + encodeURIComponent(user._id) + '\')"><td>';
9808
x += '<div class=bar>';
9809
x += '<div class=baricon><input class=UserCheckbox value=' + encodeURIComponent(user._id) + ' onclick=p3updateInfo() type=checkbox' + ((user._id == userinfo._id)?' disabled':'') + '></div><div style=cursor:pointer onclick=gotoUser(\"' + encodeURIComponent(user._id) + '\")>';
@@ -9910,7 +9912,7 @@
9912
9913
function showSendSMS(userid) {
9914
if (xxdialogMode) return;
9913
- setDialogMode(2, "Send SMS", 3, showSendSMSEx, '<textarea id=d2smsText maxlength=160 style=background-color:#fcf3cf;width:100%;height:100px;resize:none onKeyUp=showSendSMSValidate()></textarea><span style=font-size:10px><span>', decodeURIComponent(userid));
9915
+ setDialogMode(2, "Send SMS", 3, showSendSMSEx, '<textarea id=d2smsText maxlength=160 style=background-color:#fcf3cf;width:100%;height:100px;resize:none onKeyUp=showSendSMSValidate()></textarea><span style=font-size:10px><span>', userid);
9916
Q('d2smsText').focus();
9917
showSendSMSValidate();
9918
}
@@ -10661,6 +10663,7 @@
10663
if (user.otpsecret > 0) { factors.push("Authentication App"); }
10664
if (user.otphkeys > 0) { factors.push("Security Key"); }
10665
if (user.otpkeys > 0) { factors.push("Backup Codes"); }
10666
+ if ((user.phone != null) && (features & 0x04000000)) { factors.push("SMS"); }
10667
x += addDeviceAttribute("Security", '<img src="images/key12.png" height=12 width=11 title=\"' + "2nd factor authentication enabled" + '\" style="margin-top:2px" /> ' + factors.join(', '));
10668
}
10669
@@ -10668,7 +10671,7 @@
10671
10672
// Add action buttons
10673
x += '<input type=button value=\"' + "Notes" + '\" title=\"' + "View notes about this user" + '\" onclick=showNotes(false,"' + userid + '") />';
10671
- if (user.phone && (features & 0x02000000)) { x += '<input type=button value=\"' + "SMS" + '\" title=\"' + "Send a SMS message to this user" + '\" onclick=showSendSMS("' + encodeURIComponent(userid) + '") />'; }
10674
+ if (user.phone && (features & 0x02000000)) { x += '<input type=button value=\"' + "SMS" + '\" title=\"' + "Send a SMS message to this user" + '\" onclick=showSendSMS("' + userid + '") />'; }
10675
if (!self && (activeSessions > 0)) { x += '<input type=button value=\"' + "Notify" + '\" title=\"' + "Send user notification" + '\" onclick=showUserAlertDialog(event,"' + userid + '") />'; }
10676
10677
// Setup the panel
@@ -11459,7 +11462,7 @@
11462
x += '<div><label><input type=checkbox id=p41c14 ' + ((serverTraceSources.indexOf('agentupdate') >= 0) ? 'checked' : '') + '>' + "MeshAgent update" + '</label></div>';
11463
x += '<div><label><input type=checkbox id=p41c16 ' + ((serverTraceSources.indexOf('cert') >= 0) ? 'checked' : '') + '>' + "Server Certificate" + '</label></div>';
11464
x += '<div><label><input type=checkbox id=p41c17 ' + ((serverTraceSources.indexOf('db') >= 0) ? 'checked' : '') + '>' + "Server Database" + '</label></div>';
11462
- x += '<div><label><input type=checkbox id=p41c18 ' + ((serverTraceSources.indexOf('email') >= 0) ? 'checked' : '') + '>' + "Email Traffic" + '</label></div>';
11465
+ x += '<div><label><input type=checkbox id=p41c18 ' + ((serverTraceSources.indexOf('email') >= 0) ? 'checked' : '') + '>' + "Email/SMS Traffic" + '</label></div>';
11466
x += '<div style="width:100%;border-bottom:1px solid gray;margin-bottom:5px;margin-top:5px"><b>' + "Web Server" + '</b></div>';
11467
x += '<div><label><input type=checkbox id=p41c5 ' + ((serverTraceSources.indexOf('web') >= 0) ? 'checked' : '') + '>' + "Web Server" + '</label></div>';
11468
x += '<div><label><input type=checkbox id=p41c6 ' + ((serverTraceSources.indexOf('webrequest') >= 0) ? 'checked' : '') + '>' + "Web Server Requests" + '</label></div>';
views/login.handlebars
+15
-1
@@ -163,6 +163,7 @@
163
<div style=float:right>
164
<input style="display:none;float:right" id=securityKeyButton type=button value="Use Security Key" onclick="useSecurityKey()" />
165
<input style="display:none;float:right" id=emailKeyButton type=button value="Email" onclick="useEmailToken()" />
166
+ <input style="display:none;float:right" id=smsKeyButton type=button value="SMS" onclick="useSMSToken()" />
167
</div>
168
</td>
169
</tr>
@@ -299,10 +300,11 @@
300
var nightMode = (getstore('_nightMode', '0') == '1');
301
var publicKeyCredentialRequestOptions = null;
302
var otpemail = ('{{{otpemail}}}' === 'true');
303
+ var otpsms = ('{{{otpsms}}}' === 'true');
304
305
// Display the right server message
306
var messageid = parseInt('{{{messageid}}}');
305
- var okmessages = ['', "Hold on, reset mail sent.", "Email sent.", "Email verification required, check your mailbox and click the confirmation link."];
307
+ var okmessages = ['', "Hold on, reset mail sent.", "Email sent.", "Email verification required, check your mailbox and click the confirmation link.", "SMS sent."];
308
var failmessages = ["Unable to create account.", "Account limit reached.", "Existing account with this email address.", "Invalid account creation token.", "Username already exists.", "Password rejected, use a different one.", "Invalid email.", "Account not found.", "Invalid token, try again.", "Unable to sent email.", "Account locked.", "Access denied.", "Login failed, check username and password.", "Password change requested.", "IP address blocked, try again later."];
309
if (messageid > 0) {
310
var msg = '';
@@ -380,6 +382,7 @@
382
try { if (hardwareKeyChallenge.length > 0) { hardwareKeyChallenge = JSON.parse(hardwareKeyChallenge); } else { hardwareKeyChallenge = null; } } catch (ex) { hardwareKeyChallenge = null }
383
QV('securityKeyButton', (hardwareKeyChallenge != null) && (hardwareKeyChallenge.type == 'webAuthn'));
384
QV('emailKeyButton', otpemail && (messageid != 2));
385
+ QV('smsKeyButton', otpsms && (messageid != 2));
386
}
387
388
if (loginMode == '5') {
@@ -459,6 +462,17 @@
462
Q('tokenOkButton').click();
463
}
464
465
+ function useSMSToken() {
466
+ if (otpsms != true) return;
467
+ setDialogMode(1, "Secure Login", 3, useSMSTokenEx, "Send token to registed phone number?");
468
+ }
469
+
470
+ function useSMSTokenEx() {
471
+ Q('hwtokenInput').value = '**sms**';
472
+ QE('tokenOkButton', true);
473
+ Q('tokenOkButton').click();
474
+ }
475
+
476
function showPassHint(e) {
477
messagebox("Password Hint", passhint);
478
haltEvent(e);
webserver.js
+61
-6
@@ -598,8 +598,11 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
598
}
599
}
600
601
+ // See if SMS 2FA is available
602
+ var sms2fa = (((typeof domain.passwordrequirements != 'object') || (domain.passwordrequirements.sms2factor != false)) && (parent.smsserver != null) && (user.phone != null));
603
+
604
// Check if a 2nd factor is present
602
- return ((parent.config.settings.no2factorauth !== true) && ((user.otpsecret != null) || ((user.email != null) && (user.emailVerified == true) && (parent.mailserver != null) && (user.otpekey != null)) || ((user.otphkeys != null) && (user.otphkeys.length > 0))));
605
+ return ((parent.config.settings.no2factorauth !== true) && (sms2fa || (user.otpsecret != null) || ((user.email != null) && (user.emailVerified == true) && (parent.mailserver != null) && (user.otpekey != null)) || ((user.otphkeys != null) && (user.otphkeys.length > 0))));
606
}
607
608
// Check the 2-step auth token
@@ -611,6 +614,8 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
614
// Check if we can use OTP tokens with email
615
var otpemail = (parent.mailserver != null);
616
if ((typeof domain.passwordrequirements == 'object') && (domain.passwordrequirements.email2factor == false)) { otpemail = false; }
617
+ var otpsms = (parent.smsserver != null);
618
+ if ((typeof domain.passwordrequirements == 'object') && (domain.passwordrequirements.sms2factor == false)) { otpsms = false; }
619
620
// Check email key
621
if ((otpemail) && (user.otpekey != null) && (user.otpekey.d != null) && (user.otpekey.k === token)) {
@@ -624,6 +629,18 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
629
}
630
}
631
632
+ // Check sms key
633
+ if ((otpsms) && (user.phone != null) && (user.otpsms != null) && (user.otpsms.d != null) && (user.otpsms.k === token)) {
634
+ var deltaTime = (Date.now() - user.otpsms.d);
635
+ if ((deltaTime > 0) && (deltaTime < 300000)) { // Allow 5 minutes to use the SMS token (10000 * 60 * 5).
636
+ delete user.otpsms;
637
+ obj.db.SetUser(user);
638
+ parent.debug('web', 'checkUserOneTimePassword: success (SMS).');
639
+ func(true);
640
+ return;
641
+ }
642
+ }
643
+
644
// Check hardware key
645
if (user.otphkeys && (user.otphkeys.length > 0) && (typeof (hwtoken) == 'string') && (hwtoken.length > 0)) {
646
var authResponse = null;
@@ -776,9 +793,12 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
793
if (userid) {
794
var user = obj.users[userid];
795
796
+ var email2fa = (((typeof domain.passwordrequirements != 'object') || (domain.passwordrequirements.email2factor != false)) && (parent.mailserver != null) && (user.email != null) && (user.emailVerified == true) && (user.otpekey != null));
797
+ var sms2fa = (((typeof domain.passwordrequirements != 'object') || (domain.passwordrequirements.sms2factor != false)) && (parent.smsserver != null) && (user.phone != null));
798
+
799
// Check if this user has 2-step login active
800
if ((req.session.loginmode != '6') && checkUserOneTimePasswordRequired(domain, user, req)) {
781
- if ((req.body.hwtoken == '**email**') && (user.email != null) && (user.emailVerified == true) && (parent.mailserver != null) && (user.otpekey != null)) {
801
+ if ((req.body.hwtoken == '**email**') && email2fa) {
802
user.otpekey = { k: obj.common.zeroPad(getRandomEightDigitInteger(), 8), d: Date.now() };
803
obj.db.SetUser(user);
804
parent.debug('web', 'Sending 2FA email to: ' + user.email);
@@ -789,6 +809,19 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
809
return;
810
}
811
812
+ if ((req.body.hwtoken == '**sms**') && sms2fa) {
813
+ // Cause a token to be sent to the user's phone number
814
+ user.otpsms = { k: obj.common.zeroPad(getRandomSixDigitInteger(), 6), d: Date.now() };
815
+ obj.db.SetUser(user);
816
+ parent.debug('web', 'Sending 2FA SMS to: ' + user.phone);
817
+ parent.smsserver.sendToken(domain, user.phone, user.otpsms.k, obj.getLanguageCodes(req));
818
+ // Ask for a login token & confirm sms was sent
819
+ req.session.messageid = 4; // "SMS sent" message
820
+ req.session.loginmode = '4';
821
+ if (direct === true) { handleRootRequestEx(req, res, domain); } else { res.redirect(domain.url + getQueryPortion(req)); }
822
+ return;
823
+ }
824
+
825
checkUserOneTimePassword(req, domain, user, req.body.token, req.body.hwtoken, function (result) {
826
if (result == false) {
827
var randomWaitTime = 0;
@@ -809,6 +842,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
842
setTimeout(function () {
843
req.session.loginmode = '4';
844
req.session.tokenemail = ((user.email != null) && (user.emailVerified == true) && (parent.mailserver != null) && (user.otpekey != null));
845
+ req.session.tokensms = ((user.phone != null) && (parent.smsserver != null));
846
req.session.tokenusername = xusername;
847
req.session.tokenpassword = xpassword;
848
if (direct === true) { handleRootRequestEx(req, res, domain); } else { res.redirect(domain.url + getQueryPortion(req)); }
@@ -920,7 +954,6 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
954
//req.session.regenerate(function () {
955
// Store the user's primary key in the session store to be retrieved, or in this case the entire user object
956
delete req.session.loginmode;
923
- delete req.session.tokenemail;
957
delete req.session.tokenusername;
958
delete req.session.tokenpassword;
959
delete req.session.tokenemail;
@@ -1140,7 +1173,6 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
1173
// Failed, error out.
1174
parent.debug('web', 'handleResetPasswordRequest: failed authenticate()');
1175
delete req.session.loginmode;
1143
- delete req.session.tokenemail;
1176
delete req.session.tokenusername;
1177
delete req.session.tokenpassword;
1178
delete req.session.resettokenusername;
@@ -1839,6 +1871,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
1871
if (((typeof domain.passwordrequirements != 'object') || (domain.passwordrequirements.email2factor != false)) && (parent.mailserver != null)) { features += 0x00800000; } // using email for 2FA is allowed
1872
if (domain.agentinvitecodes == true) { features += 0x01000000; } // Support for agent invite codes
1873
if (parent.smsserver != null) { features += 0x02000000; } // SMS messaging is supported
1874
+ if ((parent.smsserver != null) && ((typeof domain.passwordrequirements != 'object') || (domain.passwordrequirements.sms2factor != false))) { features += 0x04000000; } // SMS 2FA is allowed
1875
1876
// Create a authentication cookie
1877
const authCookie = obj.parent.encodeCookie({ userid: user._id, domainid: domain.id, ip: cleanRemoteAddr(req.ip) }, obj.parent.loginCookieEncryptionKey);
@@ -1936,9 +1969,11 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
1969
// Check if we can use OTP tokens with email
1970
var otpemail = (parent.mailserver != null) && (req.session != null) && (req.session.tokenemail != null);
1971
if ((typeof domain.passwordrequirements == 'object') && (domain.passwordrequirements.email2factor == false)) { otpemail = false; }
1972
+ var otpsms = (parent.smsserver != null) && (req.session != null) && (req.session.tokensms != null);
1973
+ if ((typeof domain.passwordrequirements == 'object') && (domain.passwordrequirements.sms2factor == false)) { otpsms = false; }
1974
1975
// Render the login page
1941
- render(req, res, getRenderPage('login', req, domain), getRenderArgs({ loginmode: loginmode, rootCertLink: getRootCertLink(), newAccount: newAccountsAllowed, newAccountPass: (((domain.newaccountspass == null) || (domain.newaccountspass == '')) ? 0 : 1), serverDnsName: obj.getWebServerName(domain), serverPublicPort: httpsPort, emailcheck: emailcheck, features: features, sessiontime: args.sessiontime, passRequirements: passRequirements, footer: (domain.footer == null) ? '' : domain.footer, hkey: encodeURIComponent(hardwareKeyChallenge), messageid: msgid, passhint: passhint, welcometext: domain.welcometext ? encodeURIComponent(domain.welcometext).split('\'').join('\\\'') : null, hwstate: hwstate, otpemail: otpemail }, domain));
1976
+ render(req, res, getRenderPage('login', req, domain), getRenderArgs({ loginmode: loginmode, rootCertLink: getRootCertLink(), newAccount: newAccountsAllowed, newAccountPass: (((domain.newaccountspass == null) || (domain.newaccountspass == '')) ? 0 : 1), serverDnsName: obj.getWebServerName(domain), serverPublicPort: httpsPort, emailcheck: emailcheck, features: features, sessiontime: args.sessiontime, passRequirements: passRequirements, footer: (domain.footer == null) ? '' : domain.footer, hkey: encodeURIComponent(hardwareKeyChallenge), messageid: msgid, passhint: passhint, welcometext: domain.welcometext ? encodeURIComponent(domain.welcometext).split('\'').join('\\\'') : null, hwstate: hwstate, otpemail: otpemail, otpsms: otpsms }, domain));
1977
}
1978
1979
// Handle a post request on the root
@@ -4014,7 +4049,8 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
4049
if (checkUserOneTimePasswordRequired(domain, user, req) == true) {
4050
// Figure out if email 2FA is allowed
4051
var email2fa = (((typeof domain.passwordrequirements != 'object') || (domain.passwordrequirements.email2factor != false)) && (parent.mailserver != null) && (user.otpekey != null));
4017
- if ((typeof req.query.token != 'string') || (req.query.token == '**email**')) {
4052
+ var sms2fa = (((typeof domain.passwordrequirements != 'object') || (domain.passwordrequirements.sms2factor != false)) && (parent.smsserver != null) && (user.phone != null));
4053
+ if ((typeof req.query.token != 'string') || (req.query.token == '**email**') || (req.query.token == '**sms**')) {
4054
if ((req.query.token == '**email**') && (email2fa == true)) {
4055
// Cause a token to be sent to the user's registered email
4056
user.otpekey = { k: obj.common.zeroPad(getRandomEightDigitInteger(), 8), d: Date.now() };
@@ -4023,6 +4059,14 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
4059
parent.mailserver.sendAccountLoginMail(domain, user.email, user.otpekey.k, obj.getLanguageCodes(req));
4060
// Ask for a login token & confirm email was sent
4061
try { ws.send(JSON.stringify({ action: 'close', cause: 'noauth', msg: 'tokenrequired', email2fa: email2fa, email2fasent: true })); ws.close(); } catch (e) { }
4062
+ } else if ((req.query.token == '**sms**') && (sms2fa == true)) {
4063
+ // Cause a token to be sent to the user's phone number
4064
+ user.otpsms = { k: obj.common.zeroPad(getRandomSixDigitInteger(), 6), d: Date.now() };
4065
+ obj.db.SetUser(user);
4066
+ parent.debug('web', 'Sending 2FA SMS to: ' + user.phone);
4067
+ parent.smsserver.sendToken(domain, user.phone, user.otpsms.k, obj.getLanguageCodes(req));
4068
+ // Ask for a login token & confirm sms was sent
4069
+ try { ws.send(JSON.stringify({ action: 'close', cause: 'noauth', msg: 'tokenrequired', sms2fa: sms2fa, sms2fasent: true })); ws.close(); } catch (e) { }
4070
} else {
4071
// Ask for a login token
4072
try { ws.send(JSON.stringify({ action: 'close', cause: 'noauth', msg: 'tokenrequired', email2fa: email2fa })); ws.close(); } catch (e) { }
@@ -4097,6 +4141,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
4141
if (checkUserOneTimePasswordRequired(domain, user, req) == true) {
4142
// Figure out if email 2FA is allowed
4143
var email2fa = (((typeof domain.passwordrequirements != 'object') || (domain.passwordrequirements.email2factor != false)) && (parent.mailserver != null) && (user.otpekey != null));
4144
+ var sms2fa = (((typeof domain.passwordrequirements != 'object') || (domain.passwordrequirements.sms2factor != false)) && (parent.smsserver != null) && (user.phone != null));
4145
if (s.length != 3) {
4146
try { ws.send(JSON.stringify({ action: 'close', cause: 'noauth', msg: 'tokenrequired', email2fa: email2fa })); ws.close(); } catch (e) { }
4147
} else {
@@ -4110,6 +4155,14 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
4155
parent.mailserver.sendAccountLoginMail(domain, user.email, user.otpekey.k, obj.getLanguageCodes(req));
4156
// Ask for a login token & confirm email was sent
4157
try { ws.send(JSON.stringify({ action: 'close', cause: 'noauth', msg: 'tokenrequired', email2fa: email2fa, email2fasent: true })); ws.close(); } catch (e) { }
4158
+ } else if ((s[2] == '**sms**') && (sms2fa == true)) {
4159
+ // Cause a token to be sent to the user's phone number
4160
+ user.otpsms = { k: obj.common.zeroPad(getRandomSixDigitInteger(), 6), d: Date.now() };
4161
+ obj.db.SetUser(user);
4162
+ parent.debug('web', 'Sending 2FA SMS to: ' + user.phone);
4163
+ parent.smsserver.sendToken(domain, user.phone, user.otpsms.k, obj.getLanguageCodes(req));
4164
+ // Ask for a login token & confirm sms was sent
4165
+ try { ws.send(JSON.stringify({ action: 'close', cause: 'noauth', msg: 'tokenrequired', sms2fa: sms2fa, sms2fasent: true })); ws.close(); } catch (e) { }
4166
} else {
4167
// Ask for a login token
4168
try { ws.send(JSON.stringify({ action: 'close', cause: 'noauth', msg: 'tokenrequired', email2fa: email2fa })); ws.close(); } catch (e) { }
@@ -4621,6 +4674,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
4674
delete user2.domain;
4675
delete user2.subscriptions;
4676
delete user2.passtype;
4677
+ delete user2.otpsms;
4678
if ((typeof user2.otpekey == 'object') && (user2.otpekey != null)) { user2.otpekey = 1; } // Indicates that email 2FA is enabled.
4679
if ((typeof user2.otpsecret == 'string') && (user2.otpsecret != null)) { user2.otpsecret = 1; } // Indicates a time secret is present.
4680
if ((typeof user2.otpkeys == 'object') && (user2.otpkeys != null)) { user2.otpkeys = 0; if (user.otpkeys != null) { for (var i = 0; i < user.otpkeys.keys.length; i++) { if (user.otpkeys.keys[i].u == true) { user2.otpkeys = 1; } } } } // Indicates the number of one time backup codes that are active.
@@ -4974,6 +5028,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
5028
5029
// Generate a 8 digit integer with even random probability for each value.
5030
function getRandomEightDigitInteger() { var bigInt; do { bigInt = parent.crypto.randomBytes(4).readUInt32BE(0); } while (bigInt >= 4200000000); return bigInt % 100000000; }
5031
+ function getRandomSixDigitInteger() { var bigInt; do { bigInt = parent.crypto.randomBytes(4).readUInt32BE(0); } while (bigInt >= 4200000000); return bigInt % 1000000; }
5032
5033
// Clean a IPv6 address that encodes a IPv4 address
5034
function cleanRemoteAddr(addr) { if (typeof addr != 'string') { return null; } if (addr.indexOf('::ffff:') == 0) { return addr.substring(7); } else { return addr; } }