Added device sharing link revocation.
Ylian Saint-Hilaire committed
Oct 30, 2020 at 17:08 UTC
248909d0560af68221674ecef0236b2dba91228f
12 files changed
+1829
-1539
agents/meshcore.js
+5
-1
@@ -2590,7 +2590,7 @@ function createMeshCore(agent) {
2590
var response = null;
2591
switch (cmd) {
2592
case 'help': { // Displays available commands
2593
- var fin = '', f = '', availcommands = 'coredump,service,fdsnapshot,fdcount,startupoptions,alert,agentsize,versions,help,info,osinfo,args,print,type,dbkeys,dbget,dbset,dbcompact,eval,parseuri,httpget,nwslist,plugin,wsconnect,wssend,wsclose,notify,ls,ps,kill,netinfo,location,power,wakeonlan,setdebug,smbios,rawsmbios,toast,lock,users,sendcaps,openurl,getscript,getclip,setclip,log,av,cpuinfo,sysinfo,apf,scanwifi,wallpaper,agentmsg';
2593
+ var fin = '', f = '', availcommands = 'coreinfo, coredump,service,fdsnapshot,fdcount,startupoptions,alert,agentsize,versions,help,info,osinfo,args,print,type,dbkeys,dbget,dbset,dbcompact,eval,parseuri,httpget,nwslist,plugin,wsconnect,wssend,wsclose,notify,ls,ps,kill,netinfo,location,power,wakeonlan,setdebug,smbios,rawsmbios,toast,lock,users,sendcaps,openurl,getscript,getclip,setclip,log,av,cpuinfo,sysinfo,apf,scanwifi,wallpaper,agentmsg';
2594
if (process.platform == 'win32') { availcommands += ',safemode,wpfhwacceleration,uac'; }
2595
if (amt != null) { availcommands += ',amt,amtconfig,amtevents'; }
2596
if (process.platform != 'freebsd') { availcommands += ',vm';}
@@ -2606,6 +2606,10 @@ function createMeshCore(agent) {
2606
response = "Available commands: \r\n" + fin + ".";
2607
break;
2608
}
2609
+ case 'coreinfo': {
2610
+ response = JSON.stringify(meshCoreObj, null, 2);
2611
+ break;
2612
+ }
2613
case 'agentmsg': {
2614
if (args['_'].length == 0) {
2615
response = "Proper usage:\r\n agentmsg add \"[message]\" [iconIndex]\r\n agentmsg remove [index]\r\n agentmsg list"; // Display usage
amtmanager.js
+3
-3
@@ -432,11 +432,11 @@ module.exports.CreateAmtManager = function (parent) {
432
// Connect now
433
var comm;
434
if (dev.tlsfail !== true) {
435
- parent.debug('amt', 'Relay-Connect', "TLS", dev.name, user, pass);
435
+ parent.debug('amt', (dev.connType == 1) ? 'Relay-Connect' : 'LMS-Connect', "TLS", dev.name, user, pass);
436
comm = CreateWsmanComm(dev.nodeid, 16993, user, pass, 1, null, ciraconn); // Perform TLS
437
comm.xtlsFingerprint = 0; // Perform no certificate checking
438
} else {
439
- parent.debug('amt', 'Relay-Connect', "NoTLS", dev.name, user, pass);
439
+ parent.debug('amt', (dev.connType == 1) ? 'Relay-Connect' : 'LMS-Connect', "NoTLS", dev.name, user, pass);
440
comm = CreateWsmanComm(dev.nodeid, 16992, user, pass, 0, null, ciraconn); // No TLS
441
}
442
var wsstack = WsmanStackCreateService(comm);
@@ -608,7 +608,7 @@ module.exports.CreateAmtManager = function (parent) {
608
if ((typeof dev.aquired.user == 'string') && (dev.aquired.user != device.intelamt.user)) { change = 1; log = 1; device.intelamt.user = dev.aquired.user; changes.push('AMT user'); }
609
if ((typeof dev.aquired.pass == 'string') && (dev.aquired.pass != device.intelamt.pass)) { change = 1; log = 1; device.intelamt.pass = dev.aquired.pass; changes.push('AMT pass'); }
610
if ((typeof dev.aquired.mpspass == 'string') && (dev.aquired.mpspass != device.intelamt.mpspass)) { change = 1; log = 1; device.intelamt.mpspass = dev.aquired.mpspass; changes.push('AMT MPS pass'); }
611
- if ((typeof dev.aquired.host == 'string') && (dev.aquired.host != device.host)) { change = 1; log = 1; device.host = dev.aquired.host; changes.push('host'); }
611
+ if ((typeof dev.aquired.host == 'string') && (dev.aquired.host != device.intelamt.host)) { change = 1; log = 1; device.intelamt.host = dev.aquired.host; changes.push('AMT host'); }
612
if ((typeof dev.aquired.realm == 'string') && (dev.aquired.realm != device.intelamt.realm)) { change = 1; log = 1; device.intelamt.realm = dev.aquired.realm; changes.push('AMT realm'); }
613
if ((typeof dev.aquired.hash == 'string') && (dev.aquired.hash != device.intelamt.hash)) { change = 1; log = 1; device.intelamt.hash = dev.aquired.hash; changes.push('AMT hash'); }
614
if ((typeof dev.aquired.tls == 'number') && (dev.aquired.tls != device.intelamt.tls)) { change = 1; log = 1; device.intelamt.tls = dev.aquired.tls; changes.push('AMT TLS'); }
db.js
+17
@@ -851,6 +851,13 @@ module.exports.CreateDB = function (parent, func) {
851
}
852
}
853
};
854
+ obj.GetAllTypeNodeFiltered = function (nodes, domain, type, id, func) {
855
+ if (id && (id != '')) {
856
+ sqlDbQuery('SELECT doc FROM meshcentral.main WHERE id = ? AND type = ? AND domain = ? AND nodeid IN (?)', [id, type, domain, nodes], function (err, docs) { if (err == null) { for (var i in docs) { delete docs[i].type } } func(err, docs); });
857
+ } else {
858
+ sqlDbQuery('SELECT doc FROM meshcentral.main WHERE type = ? AND domain = ? AND nodeid IN (?)', [type, domain, nodes], function (err, docs) { if (err == null) { for (var i in docs) { delete docs[i].type } } func(err, docs); });
859
+ }
860
+ };
861
obj.GetAllType = function (type, func) { sqlDbQuery('SELECT doc FROM meshcentral.main WHERE type = ?', [type], func); }
862
obj.GetAllIdsOfType = function (ids, domain, type, func) { sqlDbQuery('SELECT doc FROM meshcentral.main WHERE id IN (?) AND domain = ? AND type = ?', [ids, domain, type], func); }
863
obj.GetUserWithEmail = function (domain, email, func) { sqlDbQuery('SELECT doc FROM meshcentral.main WHERE domain = ? AND extra = ?', [domain, 'email/' + email], func); }
@@ -1010,6 +1017,11 @@ module.exports.CreateDB = function (parent, func) {
1017
obj.file.find(x, { type: 0 }).toArray(function (err, docs) { func(err, performTypedRecordDecrypt(docs)); });
1018
}
1019
};
1020
+ obj.GetAllTypeNodeFiltered = function (nodes, domain, type, id, func) {
1021
+ var x = { type: type, domain: domain, nodeid: { $in: nodes } };
1022
+ if (id) { x._id = id; }
1023
+ obj.file.find(x, { type: 0 }).toArray(function (err, docs) { func(err, performTypedRecordDecrypt(docs)); });
1024
+ };
1025
obj.GetAllType = function (type, func) { obj.file.find({ type: type }).toArray(function (err, docs) { func(err, performTypedRecordDecrypt(docs)); }); };
1026
obj.GetAllIdsOfType = function (ids, domain, type, func) { obj.file.find({ type: type, domain: domain, _id: { $in: ids } }).toArray(function (err, docs) { func(err, performTypedRecordDecrypt(docs)); }); };
1027
obj.GetUserWithEmail = function (domain, email, func) { obj.file.find({ type: 'user', domain: domain, email: email }).toArray(function (err, docs) { func(err, performTypedRecordDecrypt(docs)); }); };
@@ -1163,6 +1175,11 @@ module.exports.CreateDB = function (parent, func) {
1175
obj.file.find(x, function (err, docs) { func(err, performTypedRecordDecrypt(docs)); });
1176
}
1177
};
1178
+ obj.GetAllTypeNodeFiltered = function (nodes, domain, type, id, func) {
1179
+ var x = { type: type, domain: domain, nodeid: { $in: nodes } };
1180
+ if (id) { x._id = id; }
1181
+ obj.file.find(x, function (err, docs) { func(err, performTypedRecordDecrypt(docs)); });
1182
+ };
1183
obj.GetAllType = function (type, func) { obj.file.find({ type: type }, function (err, docs) { func(err, performTypedRecordDecrypt(docs)); }); };
1184
obj.GetAllIdsOfType = function (ids, domain, type, func) { obj.file.find({ type: type, domain: domain, _id: { $in: ids } }, function (err, docs) { func(err, performTypedRecordDecrypt(docs)); }); };
1185
obj.GetUserWithEmail = function (domain, email, func) { obj.file.find({ type: 'user', domain: domain, email: email }, { type: 0 }, function (err, docs) { func(err, performTypedRecordDecrypt(docs)); }); };
meshagent.js
+3
-30
@@ -1135,6 +1135,7 @@ module.exports.CreateMeshAgent = function (parent, db, ws, req, args, domain) {
1135
case 'coreinfo':
1136
{
1137
// Sent by the agent to update agent information
1138
+ // TODO: Check that this does not include outdates Intel AMT information
1139
ChangeAgentCoreInfo(command);
1140
break;
1141
}
@@ -1255,34 +1256,6 @@ module.exports.CreateMeshAgent = function (parent, db, ws, req, args, domain) {
1256
}
1257
break;
1258
}
1258
- case 'acmactivate':
1259
- {
1260
- if (obj.agentInfo.capabilities & 0x20) return; // If this is a temporary device, don't do ACM activation.
1261
-
1262
- // Get the current Intel AMT policy
1263
- var mesh = parent.meshes[obj.dbMeshKey];
1264
- if ((mesh == null) || (mesh.amt == null) || (mesh.amt.type != 3) || (domain.amtacmactivation == null) || (domain.amtacmactivation.acmmatch == null) || (mesh.amt.password == null)) break; // If this is not the right policy, ignore this.
1265
-
1266
- // Get the Intel AMT admin password, randomize if needed.
1267
- var amtpassword = ((mesh.amt.password == '') ? getRandomAmtPassword() : mesh.amt.password);
1268
- if (checkAmtPassword(amtpassword) == false) return; // Invalid Intel AMT password, this should never happen.
1269
-
1270
- // Agent is asking the server to sign an Intel AMT ACM activation request
1271
- var signResponse = parent.parent.certificateOperations.signAcmRequest(domain, command, 'admin', amtpassword, obj.remoteaddrport, obj.dbNodeKey, obj.dbMeshKey, obj.agentInfo.computerName, obj.agentInfo.agentId); // TODO: Place account credentials!!!
1272
- if ((signResponse != null) && (signResponse.error == null)) {
1273
- // Log this activation event
1274
- var event = { etype: 'node', action: 'amtactivate', nodeid: obj.dbNodeKey, domain: domain.id, msgid: 58, msgArgs: [command.fqdn], msg: 'Device requested Intel(R) AMT ACM activation, FQDN: ' + command.fqdn, ip: obj.remoteaddrport };
1275
- if (db.changeStream) { event.noact = 1; } // If DB change stream is active, don't use this event to change the node. Another event will come.
1276
- parent.parent.DispatchEvent(parent.CreateMeshDispatchTargets(obj.dbMeshKey, [obj.dbNodeKey]), obj, event);
1277
-
1278
- // Update the device Intel AMT information
1279
- ChangeAgentCoreInfo({ 'intelamt': { user: 'admin', pass: amtpassword, uuid: command.uuid, realm: command.realm } });
1280
-
1281
- // Send the activation response
1282
- obj.send(JSON.stringify(signResponse));
1283
- }
1284
- break;
1285
- }
1259
case 'diagnostic':
1260
{
1261
if (typeof command.value == 'object') {
@@ -1482,13 +1455,13 @@ module.exports.CreateMeshAgent = function (parent, db, ws, req, args, domain) {
1455
if (!device.intelamt) { device.intelamt = {}; }
1456
if ((command.intelamt.ver != null) && (typeof command.intelamt.ver == 'string') && (command.intelamt.ver.length < 12) && (device.intelamt.ver != command.intelamt.ver)) { changes.push('AMT version'); device.intelamt.ver = command.intelamt.ver; change = 1; log = 1; }
1457
if ((command.intelamt.sku != null) && (typeof command.intelamt.sku == 'number') && (device.intelamt.sku !== command.intelamt.sku)) { changes.push('AMT SKU'); device.intelamt.sku = command.intelamt.sku; change = 1; log = 1; }
1485
- if ((command.intelamt.state != null) && (typeof command.intelamt.state == 'number') && (device.intelamt.state != command.intelamt.state)) { changes.push('AMT state'); device.intelamt.state = command.intelamt.state; change = 1; log = 1; }
1458
+ if ((command.intelamt.state != null) && (typeof command.intelamt.state == 'number') && (device.intelamt.state != command.intelamt.state)) { changes.push('AMT state'); console.log('agent', device.intelamt.state, command.intelamt.state); device.intelamt.state = command.intelamt.state; change = 1; log = 1; }
1459
if ((command.intelamt.flags != null) && (typeof command.intelamt.flags == 'number') && (device.intelamt.flags != command.intelamt.flags)) {
1460
if (device.intelamt.flags) { changes.push('AMT flags (' + device.intelamt.flags + ' --> ' + command.intelamt.flags + ')'); } else { changes.push('AMT flags (' + command.intelamt.flags + ')'); }
1461
device.intelamt.flags = command.intelamt.flags; change = 1; log = 1;
1462
}
1463
if ((command.intelamt.realm != null) && (typeof command.intelamt.realm == 'string') && (device.intelamt.realm != command.intelamt.realm)) { changes.push('AMT realm'); device.intelamt.realm = command.intelamt.realm; change = 1; log = 1; }
1491
- if ((command.intelamt.host != null) && (typeof command.intelamt.host == 'string') && (device.intelamt.host != command.intelamt.host)) { changes.push('AMT host'); device.intelamt.host = command.intelamt.host; change = 1; log = 1; }
1464
+ //if ((command.intelamt.host != null) && (typeof command.intelamt.host == 'string') && (device.intelamt.host != command.intelamt.host)) { changes.push('AMT host'); device.intelamt.host = command.intelamt.host; change = 1; log = 1; }
1465
if ((command.intelamt.uuid != null) && (typeof command.intelamt.uuid == 'string') && (device.intelamt.uuid != command.intelamt.uuid)) { changes.push('AMT uuid'); device.intelamt.uuid = command.intelamt.uuid; change = 1; log = 1; }
1466
if ((command.intelamt.user != null) && (typeof command.intelamt.user == 'string') && (device.intelamt.user != command.intelamt.user)) { changes.push('AMT user'); device.intelamt.user = command.intelamt.user; change = 1; log = 1; }
1467
if ((command.intelamt.pass != null) && (typeof command.intelamt.pass == 'string') && (device.intelamt.pass != command.intelamt.pass)) { changes.push('AMT pass'); device.intelamt.pass = command.intelamt.pass; change = 1; log = 1; }
meshdesktopmultiplex.js
+36
@@ -803,7 +803,32 @@ function CreateDesktopMultiplexor(parent, domain, nodeid, func) {
803
return obj;
804
}
805
806
+function checkDeviceSharePublicIdentifier(parent, domain, nodeid, pid, func) {
807
+ // Check the public id
808
+ parent.db.GetAllTypeNodeFiltered([nodeid], domain.id, 'deviceshare', null, function (err, docs) {
809
+ if ((err != null) || (docs.length == 0)) { func(false); return; }
810
+
811
+ // Search for the device share public identifier
812
+ var found = false;
813
+ for (var i = 0; i < docs.length; i++) { if (docs[i].publicid == pid) { found = true; } }
814
+ func(found);
815
+ });
816
+}
817
+
818
module.exports.CreateMeshRelay = function (parent, ws, req, domain, user, cookie) {
819
+ if ((cookie != null) && (typeof cookie.nid == 'string') && (typeof cookie.pid == 'string')) {
820
+ checkDeviceSharePublicIdentifier(parent, domain, cookie.nid, cookie.pid, function (result) {
821
+ // If the identifier if not found, close the connection
822
+ if (result == false) { try { ws.close(); } catch (e) { } return; }
823
+ // Public device sharing identifier found, continue as normal.
824
+ CreateMeshRelayEx(parent, ws, req, domain, user, cookie);
825
+ });
826
+ } else {
827
+ CreateMeshRelayEx(parent, ws, req, domain, user, cookie);
828
+ }
829
+}
830
+
831
+function CreateMeshRelayEx(parent, ws, req, domain, user, cookie) {
832
const currentTime = Date.now();
833
if (cookie) {
834
if ((typeof cookie.expire == 'number') && (cookie.expire <= currentTime)) { delete req.query.nodeid; }
@@ -819,6 +844,14 @@ module.exports.CreateMeshRelay = function (parent, ws, req, domain, user, cookie
844
obj.ruserid = null;
845
obj.req = req; // Used in multi-server.js
846
847
+ // Setup subscription for desktop sharing public identifier
848
+ // If the identifier is removed, drop the connection
849
+ if ((cookie != null) && (typeof cookie.pid == 'string')) {
850
+ obj.pid = cookie.pid;
851
+ parent.parent.AddEventDispatch([obj.nodeid], obj);
852
+ obj.HandleEvent = function (source, event, ids, id) { if ((event.action == 'removedDeviceShare') && (obj.pid == event.publicid)) { obj.close(); } }
853
+ }
854
+
855
// Check relay authentication
856
if ((user == null) && (obj.req.query != null) && (obj.req.query.rauth != null)) {
857
const rcookie = parent.parent.decodeCookie(obj.req.query.rauth, parent.parent.loginCookieEncryptionKey, 240); // Cookie with 4 hour timeout
@@ -878,6 +911,9 @@ module.exports.CreateMeshRelay = function (parent, ws, req, domain, user, cookie
911
// Clear timers if present
912
if (obj.pingtimer != null) { clearInterval(obj.pingtimer); delete obj.pingtimer; }
913
if (obj.pongtimer != null) { clearInterval(obj.pongtimer); delete obj.pongtimer; }
914
+
915
+ // Unsubscribe
916
+ if (obj.pid != null) { parent.parent.RemoveAllEventDispatch(obj); }
917
};
918
919
obj.sendAgentMessage = function (command, userid, domainid) {
meshrelay.js
+40
@@ -13,7 +13,33 @@
13
/*jshint esversion: 6 */
14
"use strict";
15
16
+
17
+function checkDeviceSharePublicIdentifier(parent, domain, nodeid, pid, func) {
18
+ // Check the public id
19
+ parent.db.GetAllTypeNodeFiltered([nodeid], domain.id, 'deviceshare', null, function (err, docs) {
20
+ if ((err != null) || (docs.length == 0)) { func(false); return; }
21
+
22
+ // Search for the device share public identifier
23
+ var found = false;
24
+ for (var i = 0; i < docs.length; i++) { if (docs[i].publicid == pid) { found = true; } }
25
+ func(found);
26
+ });
27
+}
28
+
29
module.exports.CreateMeshRelay = function (parent, ws, req, domain, user, cookie) {
30
+ if ((cookie != null) && (typeof cookie.nid == 'string') && (typeof cookie.pid == 'string')) {
31
+ checkDeviceSharePublicIdentifier(parent, domain, cookie.nid, cookie.pid, function (result) {
32
+ // If the identifier if not found, close the connection
33
+ if (result == false) { try { ws.close(); } catch (e) { } return; }
34
+ // Public device sharing identifier found, continue as normal.
35
+ CreateMeshRelayEx(parent, ws, req, domain, user, cookie);
36
+ });
37
+ } else {
38
+ CreateMeshRelayEx(parent, ws, req, domain, user, cookie);
39
+ }
40
+}
41
+
42
+function CreateMeshRelayEx(parent, ws, req, domain, user, cookie) {
43
const currentTime = Date.now();
44
if (cookie) {
45
if ((typeof cookie.expire == 'number') && (cookie.expire <= currentTime)) { try { ws.close(); parent.parent.debug('relay', 'Relay: Expires cookie (' + req.clientIp + ')'); } catch (e) { console.log(e); } return; }
@@ -26,6 +52,14 @@ module.exports.CreateMeshRelay = function (parent, ws, req, domain, user, cookie
52
obj.ruserid = null;
53
obj.req = req; // Used in multi-server.js
54
55
+ // Setup subscription for desktop sharing public identifier
56
+ // If the identifier is removed, drop the connection
57
+ if ((cookie != null) && (typeof cookie.pid == 'string')) {
58
+ obj.pid = cookie.pid;
59
+ parent.parent.AddEventDispatch([cookie.nid], obj);
60
+ obj.HandleEvent = function (source, event, ids, id) { if ((event.action == 'removedDeviceShare') && (obj.pid == event.publicid)) { closeBothSides(); } }
61
+ }
62
+
63
// Check relay authentication
64
if ((user == null) && (obj.req.query != null) && (obj.req.query.rauth != null)) {
65
const rcookie = parent.parent.decodeCookie(obj.req.query.rauth, parent.parent.loginCookieEncryptionKey, 240); // Cookie with 4 hour timeout
@@ -78,6 +112,9 @@ module.exports.CreateMeshRelay = function (parent, ws, req, domain, user, cookie
112
delete obj.ws;
113
delete obj.peer;
114
delete obj.expireTimer;
115
+
116
+ // Unsubscribe
117
+ if (obj.pid != null) { parent.parent.RemoveAllEventDispatch(obj); }
118
};
119
120
obj.sendAgentMessage = function (command, userid, domainid) {
@@ -465,6 +502,9 @@ module.exports.CreateMeshRelay = function (parent, ws, req, domain, user, cookie
502
delete obj.peer;
503
if (obj.pingtimer != null) { clearInterval(obj.pingtimer); delete obj.pingtimer; }
504
if (obj.pongtimer != null) { clearInterval(obj.pongtimer); delete obj.pongtimer; }
505
+
506
+ // Unsubscribe
507
+ if (obj.pid != null) { parent.parent.RemoveAllEventDispatch(obj); }
508
}
509
510
// Record a new entry in a recording log
meshuser.js
+130
-4
@@ -4577,9 +4577,107 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
4577
ws.send(JSON.stringify({ action: 'createInviteLink', meshid: command.meshid, url: url, expire: command.expire, cookie: inviteCookie, responseid: command.responseid, tag: command.tag }));
4578
break;
4579
}
4580
+ case 'deviceShares': {
4581
+ var err = null;
4582
+ if (common.validateString(command.nodeid, 8, 128) == false) { err = 'Invalid node id'; } // Check the nodeid
4583
+
4584
+ // Handle any errors
4585
+ if (err != null) {
4586
+ if (command.responseid != null) { try { ws.send(JSON.stringify({ action: 'deviceShares', responseid: command.responseid, result: err })); } catch (ex) { } }
4587
+ break;
4588
+ }
4589
+
4590
+ // Get the device rights
4591
+ parent.GetNodeWithRights(domain, user, command.nodeid, function (node, rights, visible) {
4592
+ // If node not found or we don't have remote control, reject.
4593
+ if ((node == null) || ((rights & 8) == 0)) return;
4594
+
4595
+ // If there is MESHRIGHT_DESKLIMITEDINPUT or MESHRIGHT_REMOTEVIEWONLY on this account, reject this request.
4596
+ if ((rights != 0xFFFFFFFF) && ((rights & 4352) != 0)) return;
4597
+
4598
+ parent.db.GetAllTypeNodeFiltered([command.nodeid], domain.id, 'deviceshare', null, function (err, docs) {
4599
+ if (err != null) return;
4600
+ var now = Date.now(), removed = false, okDocs = [];
4601
+ for (var i = 0; i < docs.length; i++) {
4602
+ const doc = docs[i];
4603
+ if (doc.expireTime < now) {
4604
+ // This share is expired.
4605
+ parent.db.Remove(doc._id, function () { }); delete docs[i]; removed = true;
4606
+ } else {
4607
+ // This share is ok, remove extra data we don't need to send.
4608
+ delete doc._id; delete doc.domain; delete doc.nodeid; delete doc.type;
4609
+ okDocs.push(doc);
4610
+ }
4611
+ }
4612
+ try { ws.send(JSON.stringify({ action: 'deviceShares', nodeid: command.nodeid, deviceShares: okDocs })); } catch (ex) { }
4613
+
4614
+ // If we removed any shares, send device share update
4615
+ if (removed == true) {
4616
+ var targets = parent.CreateNodeDispatchTargets(node.meshid, node._id, ['server-users', user._id]);
4617
+ parent.parent.DispatchEvent(targets, obj, { etype: 'node', nodeid: node._id, action: 'deviceShareUpdate', domain: domain.id, deviceShares: okDocs, nolog: 1 });
4618
+ }
4619
+ });
4620
+ });
4621
+
4622
+ break;
4623
+ }
4624
+ case 'removeDeviceShare': {
4625
+ var err = null;
4626
+ if (common.validateString(command.nodeid, 8, 128) == false) { err = 'Invalid node id'; } // Check the nodeid
4627
+ else if (common.validateString(command.publicid, 1, 128) == false) { err = 'Invalid public id'; } // Check the public identifier
4628
+
4629
+ // Handle any errors
4630
+ if (err != null) {
4631
+ if (command.responseid != null) { try { ws.send(JSON.stringify({ action: 'removeDeviceShare', responseid: command.responseid, result: err })); } catch (ex) { } }
4632
+ break;
4633
+ }
4634
+
4635
+ // Get the device rights
4636
+ parent.GetNodeWithRights(domain, user, command.nodeid, function (node, rights, visible) {
4637
+ // If node not found or we don't have remote control, reject.
4638
+ if ((node == null) || ((rights & 8) == 0)) return;
4639
+
4640
+ // If there is MESHRIGHT_DESKLIMITEDINPUT or MESHRIGHT_REMOTEVIEWONLY on this account, reject this request.
4641
+ if ((rights != 0xFFFFFFFF) && ((rights & 4352) != 0)) return;
4642
+
4643
+ parent.db.GetAllTypeNodeFiltered([command.nodeid], domain.id, 'deviceshare', null, function (err, docs) {
4644
+ if (err != null) return;
4645
+
4646
+ // Remove device sharing
4647
+ var now = Date.now(), removedExact = null, removed = false, okDocs = [];
4648
+ for (var i = 0; i < docs.length; i++) {
4649
+ const doc = docs[i];
4650
+ if (doc.publicid == command.publicid) { parent.db.Remove(doc._id, function () { }); removedExact = doc; removed = true; }
4651
+ else if (doc.expireTime < now) { parent.db.Remove(doc._id, function () { }); removed = true; } else {
4652
+ // This share is ok, remove extra data we don't need to send.
4653
+ delete doc._id; delete doc.domain; delete doc.nodeid; delete doc.type;
4654
+ okDocs.push(doc);
4655
+ }
4656
+ }
4657
+
4658
+ // Confirm removal if requested
4659
+ if (command.responseid != null) { try { ws.send(JSON.stringify({ action: 'removeDeviceShare', responseid: command.responseid, nodeid: command.nodeid, publicid: doc.publicid, removed: removedExact })); } catch (ex) { } }
4660
+
4661
+ // Event device share removal
4662
+ if (removedExact != null) {
4663
+ // Send out an event that we removed a device share
4664
+ var targets = parent.CreateNodeDispatchTargets(node.meshid, node._id, ['server-users', user._id]);
4665
+ var event = { etype: 'node', userid: user._id, username: user.name, nodeid: node._id, action: 'removedDeviceShare', msg: 'Removed Device Share', msgid: 102, msgArgs: [removedExact.guestName], domain: domain.id, publicid: command.publicid };
4666
+ parent.parent.DispatchEvent(targets, obj, event);
4667
+ }
4668
+
4669
+ // If we removed any shares, send device share update
4670
+ if (removed == true) {
4671
+ var targets = parent.CreateNodeDispatchTargets(node.meshid, node._id, ['server-users', user._id]);
4672
+ parent.parent.DispatchEvent(targets, obj, { etype: 'node', nodeid: node._id, action: 'deviceShareUpdate', domain: domain.id, deviceShares: okDocs, nolog: 1 });
4673
+ }
4674
+ });
4675
+ });
4676
+ break;
4677
+ }
4678
case 'createDeviceShareLink': {
4679
var err = null, maxExpireMinutes = (typeof domain.maxguestsessionsharingtime == 'number') ? domain.maxguestsessionsharingtime : 60;
4582
- if (common.validateString(command.nodeid, 8, 128) == false) { err = 'Invalid node id'; } // Check the meshid
4680
+ if (common.validateString(command.nodeid, 8, 128) == false) { err = 'Invalid node id'; } // Check the nodeid
4681
else if (common.validateString(command.guestname, 1, 128) == false) { err = 'Invalid guest name'; } // Check the guest name
4682
else if (common.validateInt(command.expire, 1, maxExpireMinutes) == false) { err = 'Invalid expire time'; } // Check the expire time in hours
4683
else if (common.validateInt(command.consent, 0, 256) == false) { err = 'Invalid flags'; } // Check the flags
@@ -4595,7 +4693,7 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
4693
break;
4694
}
4695
4598
- // Get the device from the database
4696
+ // Get the device rights
4697
parent.GetNodeWithRights(domain, user, command.nodeid, function (node, rights, visible) {
4698
// If node not found or we don't have remote control, reject.
4699
if ((node == null) || ((rights & 8) == 0)) return;
@@ -4604,8 +4702,9 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
4702
if ((rights != 0xFFFFFFFF) && ((rights & 4352) != 0)) return;
4703
4704
// Create cookie
4607
- var expireTime = Date.now() + (60000 * command.expire);
4608
- const inviteCookie = parent.parent.encodeCookie({ a: 5, uid: user._id, gn: command.guestname, nid: node._id, cf: command.consent, expire: expireTime }, parent.parent.invitationLinkEncryptionKey);
4705
+ var publicid = getRandomPassword();
4706
+ var startTime = Date.now(), expireTime = Date.now() + (60000 * command.expire);
4707
+ const inviteCookie = parent.parent.encodeCookie({ a: 5, uid: user._id, gn: command.guestname, nid: node._id, cf: command.consent, start: startTime, expire: expireTime, pid: publicid }, parent.parent.invitationLinkEncryptionKey);
4708
if (inviteCookie == null) { if (command.responseid != null) { try { ws.send(JSON.stringify({ action: 'createDeviceShareLink', responseid: command.responseid, result: 'Unable to generate shareing cookie' })); } catch (ex) { } } return; }
4709
command.expire = expireTime;
4710
@@ -4618,6 +4717,33 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use
4717
if (serverName.split('.') == 1) { url = '/' + xdomain + 'desktop?c=' + inviteCookie; }
4718
command.url = url;
4719
ws.send(JSON.stringify(command));
4720
+
4721
+ // Create a device sharing database entry
4722
+ parent.db.Set({ type: 'deviceshare', nodeid: node._id, domain: node.domain, publicid: publicid, startTime: startTime, expireTime: expireTime, userid: user._id, guestName: command.guestname, consent: command.consent, url: url });
4723
+
4724
+ // Send out an event that we added a device share
4725
+ var targets = parent.CreateNodeDispatchTargets(node.meshid, node._id, ['server-users', user._id]);
4726
+ var event = { etype: 'node', userid: user._id, username: user.name, nodeid: node._id, action: 'addedDeviceShare', msg: 'Added Device Share', msgid: 101, msgArgs: [command.guestname, 'DATETIME:' + startTime, 'DATETIME:' + expireTime], domain: domain.id };
4727
+ parent.parent.DispatchEvent(targets, obj, event);
4728
+
4729
+ // Send device share update
4730
+ parent.db.GetAllTypeNodeFiltered([command.nodeid], domain.id, 'deviceshare', null, function (err, docs) {
4731
+ if (err != null) return;
4732
+
4733
+ // Check device sharing
4734
+ var now = Date.now();
4735
+ for (var i = 0; i < docs.length; i++) {
4736
+ const doc = docs[i];
4737
+ if (doc.expireTime < now) { parent.db.Remove(doc._id, function () { }); delete docs[i]; } else {
4738
+ // This share is ok, remove extra data we don't need to send.
4739
+ delete doc._id; delete doc.domain; delete doc.nodeid; delete doc.type;
4740
+ }
4741
+ }
4742
+
4743
+ // Send device share update
4744
+ var targets = parent.CreateNodeDispatchTargets(node.meshid, node._id, ['server-users', user._id]);
4745
+ parent.parent.DispatchEvent(targets, obj, { etype: 'node', nodeid: node._id, action: 'deviceShareUpdate', domain: domain.id, deviceShares: docs, nolog: 1 });
4746
+ });
4747
});
4748
break;
4749
}
mpsserver.js
-39
@@ -701,7 +701,6 @@ module.exports.CreateMpsServer = function (parent, db, args, certificates) {
701
var addr = data.substring(10 + requestLen, 10 + requestLen + addrLen);
702
var port = common.ReadInt(data, 10 + requestLen + addrLen);
703
parent.debug('mpscmd', '--> GLOBAL_REQUEST', request, addr + ':' + port);
704
- ChangeHostname(socket, addr, socket.tag.SystemId);
704
if (socket.tag.boundPorts.indexOf(port) == -1) { socket.tag.boundPorts.push(port); }
705
SendTcpForwardSuccessReply(socket, port);
706
return 14 + requestLen + addrLen;
@@ -1131,44 +1130,6 @@ module.exports.CreateMpsServer = function (parent, db, args, certificates) {
1130
return cirachannel;
1131
};
1132
1134
- function ChangeHostname(socket, host, systemid) {
1135
- if (socket.tag.host === host) return; // Nothing to change
1136
- socket.tag.host = host;
1137
-
1138
- // Change the device
1139
- obj.db.Get(socket.tag.nodeid, function (err, nodes) {
1140
- if ((nodes == null) || (nodes.length !== 1)) return;
1141
- var node = nodes[0];
1142
-
1143
- // See if any changes need to be made
1144
- if ((node.intelamt != null) && (node.intelamt.host == host) && (node.name != null) && (node.name != '') && (node.intelamt.state == 2)) return;
1145
-
1146
- // Get the mesh for this device
1147
- obj.db.Get(node.meshid, function (err, meshes) {
1148
- if ((meshes == null) || (meshes.length !== 1)) return;
1149
- var mesh = meshes[0];
1150
-
1151
- // Ready the node change event
1152
- var changes = ['host'], event = { etype: 'node', action: 'changenode', nodeid: node._id };
1153
- event.msg = +": ";
1154
-
1155
- // Make the change & save
1156
- if (node.intelamt == null) node.intelamt = {};
1157
- node.intelamt.host = host;
1158
- node.intelamt.state = 2; // Set the state to activated, since this is pretty obvious, we have a CIRA connection.
1159
- if (((node.name == null) || (node.name == '')) && (host != null) && (host != '')) { node.name = host.split('.')[0]; } // If this system has no name, set it to the start of the domain name.
1160
- if (((node.name == null) || (node.name == '')) && (systemid != null)) { node.name = systemid; } // If this system still has no name, set it to the system GUID.
1161
- obj.db.Set(node);
1162
-
1163
- // Event the node change
1164
- event.msg = 'CIRA changed device ' + node.name + ' from group ' + mesh.name + ': ' + changes.join(', ');
1165
- event.node = parent.webserver.CloneSafeNode(node);
1166
- if (obj.db.changeStream) { event.noact = 1; } // If DB change stream is active, don't use this event to change the node. Another event will come.
1167
- obj.parent.DispatchEvent(['*', node.meshid], obj, event);
1168
- });
1169
- });
1170
- }
1171
-
1133
// Change a node to a new meshid, this is called when a node changes groups.
1134
obj.changeDeviceMesh = function (nodeid, newMeshId) {
1135
var connectionArray = obj.ciraConnections[nodeid];
public/scripts/amt-wsman-0.2.0-min.js
+1
-1
@@ -1 +1 @@
1
-var WsmanStackCreateService=function(e,s,r,a,o,t){var p={};function l(e){if(!e)return"";var s=" ";for(var r in e)e.hasOwnProperty(r)&&0===r.indexOf("@")&&(s+=r.substring(1)+'="'+e[r]+'" ');return s}function w(e){if(!e)return"";if("string"==typeof e)return e;if(e.InstanceID)return'<w:SelectorSet><w:Selector Name="InstanceID">'+e.InstanceID+"</w:Selector></w:SelectorSet>";var s="<w:SelectorSet>";for(var r in e)if(e.hasOwnProperty(r)){if(s+='<w:Selector Name="'+r+'">',e[r].ReferenceParameters){s+="<a:EndpointReference>",s+="<a:Address>"+e[r].Address+"</a:Address><a:ReferenceParameters><w:ResourceURI>"+e[r].ReferenceParameters.ResourceURI+"</w:ResourceURI><w:SelectorSet>";var a=e[r].ReferenceParameters.SelectorSet.Selector;if(Array.isArray(a))for(var o=0;o<a.length;o++)s+="<w:Selector"+l(a[o])+">"+a[o].Value+"</w:Selector>";else s+="<w:Selector"+l(a)+">"+a.Value+"</w:Selector>";s+="</w:SelectorSet></a:ReferenceParameters></a:EndpointReference>"}else s+=e[r];s+="</w:Selector>"}return s+="</w:SelectorSet>"}return p.NextMessageId=1,p.Address="/wsman",p.comm=CreateWsmanComm(e,s,r,a,o,t),p.PerformAjax=function(e,o,s,r,a){null==a&&(a=""),p.comm.PerformAjax('<?xml version=\"1.0\" encoding=\"utf-8\"?><Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:a="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:w="http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd" xmlns="http://www.w3.org/2003/05/soap-envelope" '+a+"><Header><a:Action>"+e,function(e,s,r){if(200==s){var a=p.ParseWsman(e);a&&null!=a?o(p,a.Header.ResourceURI,a,200,r):o(p,null,{Header:{HttpError:s}},601,r)}else o(p,null,{Header:{HttpError:s}},s,r)},s,r)},p.CancelAllQueries=function(e){p.comm.CancelAllQueries(e)},p.GetNameFromUrl=function(e){var s=e.lastIndexOf("/");return-1==s?e:e.substring(s+1)},p.ExecSubscribe=function(e,s,r,a,o,t,n,l,d,c){var m="",i="";null!=d&&null!=c&&(m="<t:IssuedTokens><t:RequestSecurityTokenResponse><t:TokenType>http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#UsernameToken</t:TokenType><t:RequestedSecurityToken><se:UsernameToken><se:Username>"+d+'</se:Username><se:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd#PasswordText">'+c+"</se:Password></se:UsernameToken></t:RequestedSecurityToken></t:RequestSecurityTokenResponse></t:IssuedTokens>",i='<Auth Profile="http://schemas.xmlsoap.org/ws/2004/08/eventing/DeliveryModes/secprofile/http/digest"/>'),l=null!=l&&null!=l?"<a:ReferenceParameters>"+l+"</a:ReferenceParameters>":"";var u="http://schemas.xmlsoap.org/ws/2004/08/eventing/Subscribe</a:Action><a:To>"+p.Address+"</a:To><w:ResourceURI>"+e+"</w:ResourceURI><a:MessageID>"+p.NextMessageId+++"</a:MessageID><a:ReplyTo><a:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</a:Address></a:ReplyTo>"+w(n)+m+'</Header><Body><e:Subscribe><e:Delivery Mode="http://schemas.dmtf.org/wbem/wsman/1/wsman/'+s+'"><e:NotifyTo><a:Address>'+r+"</a:Address></e:NotifyTo>"+i+"</e:Delivery><e:Expires>PT0.000000S</e:Expires></e:Subscribe>";p.PerformAjax(u+"</Body></Envelope>",a,o,t,'xmlns:e="http://schemas.xmlsoap.org/ws/2004/08/eventing" xmlns:t="http://schemas.xmlsoap.org/ws/2005/02/trust" xmlns:se="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:m="http://x.com"')},p.ExecUnSubscribe=function(e,s,r,a,o){var t="http://schemas.xmlsoap.org/ws/2004/08/eventing/Unsubscribe</a:Action><a:To>"+p.Address+"</a:To><w:ResourceURI>"+e+"</w:ResourceURI><a:MessageID>"+p.NextMessageId+++"</a:MessageID><a:ReplyTo><a:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</a:Address></a:ReplyTo>"+w(o)+"</Header><Body><e:Unsubscribe/>";p.PerformAjax(t+"</Body></Envelope>",s,r,a,'xmlns:e="http://schemas.xmlsoap.org/ws/2004/08/eventing"')},p.ExecPut=function(e,s,r,a,o,t){var n="http://schemas.xmlsoap.org/ws/2004/09/transfer/Put</a:Action><a:To>"+p.Address+"</a:To><w:ResourceURI>"+e+"</w:ResourceURI><a:MessageID>"+p.NextMessageId+++"</a:MessageID><a:ReplyTo><a:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</a:Address></a:ReplyTo><w:OperationTimeout>PT60.000S</w:OperationTimeout>"+w(t)+"</Header><Body>"+function(e,s){if(!e||null==s)return"";var r=p.GetNameFromUrl(e),a="<r:"+r+' xmlns:r="'+e+'">';for(var o in s)if(s.hasOwnProperty(o)&&0!==o.indexOf("__")&&0!==o.indexOf("@")&&void 0!==s[o]&&null!==s[o]&&"function"!=typeof s[o])if("object"==typeof s[o]&&s[o].ReferenceParameters){a+="<r:"+o+"><a:Address>"+s[o].Address+"</a:Address><a:ReferenceParameters><w:ResourceURI>"+s[o].ReferenceParameters.ResourceURI+"</w:ResourceURI><w:SelectorSet>";var t=s[o].ReferenceParameters.SelectorSet.Selector;if(Array.isArray(t))for(var n=0;n<t.length;n++)a+="<w:Selector"+l(t[n])+">"+t[n].Value+"</w:Selector>";else a+="<w:Selector"+l(t)+">"+t.Value+"</w:Selector>";a+="</w:SelectorSet></a:ReferenceParameters></r:"+o+">"}else if(Array.isArray(s[o]))for(n=0;n<s[o].length;n++)a+="<r:"+o+">"+s[o][n].toString()+"</r:"+o+">";else a+="<r:"+o+">"+s[o].toString()+"</r:"+o+">";return a+="</r:"+r+">"}(e,s);p.PerformAjax(n+"</Body></Envelope>",r,a,o)},p.ExecCreate=function(e,s,r,a,o,t){var n=p.GetNameFromUrl(e),l="http://schemas.xmlsoap.org/ws/2004/09/transfer/Create</a:Action><a:To>"+p.Address+"</a:To><w:ResourceURI>"+e+"</w:ResourceURI><a:MessageID>"+p.NextMessageId+++"</a:MessageID><a:ReplyTo><a:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</a:Address></a:ReplyTo><w:OperationTimeout>PT60S</w:OperationTimeout>"+w(t)+"</Header><Body><g:"+n+' xmlns:g="'+e+'">';for(var d in s)l+="<g:"+d+">"+s[d]+"</g:"+d+">";p.PerformAjax(l+"</g:"+n+"></Body></Envelope>",r,a,o)},p.ExecCreateXml=function(e,s,r,a,o){var t=p.GetNameFromUrl(e);p.PerformAjax("http://schemas.xmlsoap.org/ws/2004/09/transfer/Create</a:Action><a:To>"+p.Address+"</a:To><w:ResourceURI>"+e+"</w:ResourceURI><a:MessageID>"+p.NextMessageId+++"</a:MessageID><a:ReplyTo><a:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</a:Address></a:ReplyTo><w:OperationTimeout>PT60.000S</w:OperationTimeout></Header><Body><r:"+t+' xmlns:r="'+e+'">'+s+"</r:"+t+"></Body></Envelope>",r,a,o)},p.ExecDelete=function(e,s,r,a,o){var t="http://schemas.xmlsoap.org/ws/2004/09/transfer/Delete</a:Action><a:To>"+p.Address+"</a:To><w:ResourceURI>"+e+"</w:ResourceURI><a:MessageID>"+p.NextMessageId+++"</a:MessageID><a:ReplyTo><a:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</a:Address></a:ReplyTo><w:OperationTimeout>PT60S</w:OperationTimeout>"+w(s)+"</Header><Body /></Envelope>";p.PerformAjax(t,r,a,o)},p.ExecGet=function(e,s,r,a){p.PerformAjax("http://schemas.xmlsoap.org/ws/2004/09/transfer/Get</a:Action><a:To>"+p.Address+"</a:To><w:ResourceURI>"+e+"</w:ResourceURI><a:MessageID>"+p.NextMessageId+++"</a:MessageID><a:ReplyTo><a:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</a:Address></a:ReplyTo><w:OperationTimeout>PT60S</w:OperationTimeout></Header><Body /></Envelope>",s,r,a)},p.ExecMethod=function(e,s,r,a,o,t,n){var l="";for(var d in r)if(null!=r[d])if(Array.isArray(r[d]))for(var c in r[d])l+="<r:"+d+">"+r[d][c]+"</r:"+d+">";else l+="<r:"+d+">"+r[d]+"</r:"+d+">";p.ExecMethodXml(e,s,l,a,o,t,n)},p.ExecMethodXml=function(e,s,r,a,o,t,n){p.PerformAjax(e+"/"+s+"</a:Action><a:To>"+p.Address+"</a:To><w:ResourceURI>"+e+"</w:ResourceURI><a:MessageID>"+p.NextMessageId+++"</a:MessageID><a:ReplyTo><a:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</a:Address></a:ReplyTo><w:OperationTimeout>PT60S</w:OperationTimeout>"+w(n)+"</Header><Body><r:"+s+'_INPUT xmlns:r="'+e+'">'+r+"</r:"+s+"_INPUT></Body></Envelope>",a,o,t)},p.ExecEnum=function(e,s,r,a){p.PerformAjax("http://schemas.xmlsoap.org/ws/2004/09/enumeration/Enumerate</a:Action><a:To>"+p.Address+"</a:To><w:ResourceURI>"+e+"</w:ResourceURI><a:MessageID>"+p.NextMessageId+++'</a:MessageID><a:ReplyTo><a:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</a:Address></a:ReplyTo><w:OperationTimeout>PT60S</w:OperationTimeout></Header><Body><Enumerate xmlns="http://schemas.xmlsoap.org/ws/2004/09/enumeration" /></Body></Envelope>',s,r,a)},p.ExecPull=function(e,s,r,a,o){p.PerformAjax("http://schemas.xmlsoap.org/ws/2004/09/enumeration/Pull</a:Action><a:To>"+p.Address+"</a:To><w:ResourceURI>"+e+"</w:ResourceURI><a:MessageID>"+p.NextMessageId+++'</a:MessageID><a:ReplyTo><a:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</a:Address></a:ReplyTo><w:OperationTimeout>PT60S</w:OperationTimeout></Header><Body><Pull xmlns="http://schemas.xmlsoap.org/ws/2004/09/enumeration"><EnumerationContext>'+s+"</EnumerationContext><MaxElements>999</MaxElements><MaxCharacters>99999</MaxCharacters></Pull></Body></Envelope>",r,a,o)},p.ParseWsman=function(s){try{s.childNodes||(s=function(e){{if(window.DOMParser)return(new DOMParser).parseFromString(e,"text/xml");var s=new ActiveXObject("Microsoft.XMLDOM");return s.async=!1,s.loadXML(e),s}}(s));var e,r={Header:{}},a=s.getElementsByTagName("Header")[0];if(!(a=a||s.getElementsByTagName("a:Header")[0]))return null;for(var o=0;o<a.childNodes.length;o++){var t=a.childNodes[o];r.Header[t.localName]=t.textContent}var n=s.getElementsByTagName("Body")[0];if(!(n=n||s.getElementsByTagName("a:Body")[0]))return null;if(0<n.childNodes.length){var l=(e=n.childNodes[0].localName).indexOf("_OUTPUT");-1!=l&&l==e.length-7&&(e=e.substring(0,e.length-7)),r.Header.Method=e,r.Body=function e(s){var r,a={};for(var o=0;o<s.childNodes.length;o++){var t=s.childNodes[o];"true"==(r=0==t.childElementCount?t.textContent:e(t))&&(r=!0),"false"==r&&(r=!1);var n=r;if(0<t.attributes.length){n={Value:r};for(var l=0;l<t.attributes.length;l++)n["@"+t.attributes[l].name]=t.attributes[l].value}a[t.localName]instanceof Array?a[t.localName].push(n):null==a[t.localName]?a[t.localName]=n:a[t.localName]=[a[t.localName],n]}return a}(n.childNodes[0])}return r}catch(e){return console.log("Unable to parse XML: "+s),null}},p}
\ No newline at end of file
1
+var WsmanStackCreateService=function(e,s,r,a,o,t){var p={};function l(e){if(!e)return"";var s=" ";for(var r in e)e.hasOwnProperty(r)&&0===r.indexOf("@")&&(s+=r.substring(1)+'="'+e[r]+'" ');return s}function w(e){if(!e)return"";if("string"==typeof e)return e;if(e.InstanceID)return'<w:SelectorSet><w:Selector Name="InstanceID">'+e.InstanceID+"</w:Selector></w:SelectorSet>";var s="<w:SelectorSet>";for(var r in e)if(e.hasOwnProperty(r)){if(s+='<w:Selector Name="'+r+'">',e[r].ReferenceParameters){s+="<a:EndpointReference>",s+="<a:Address>"+e[r].Address+"</a:Address><a:ReferenceParameters><w:ResourceURI>"+e[r].ReferenceParameters.ResourceURI+"</w:ResourceURI><w:SelectorSet>";var a=e[r].ReferenceParameters.SelectorSet.Selector;if(Array.isArray(a))for(var o=0;o<a.length;o++)s+="<w:Selector"+l(a[o])+">"+a[o].Value+"</w:Selector>";else s+="<w:Selector"+l(a)+">"+a.Value+"</w:Selector>";s+="</w:SelectorSet></a:ReferenceParameters></a:EndpointReference>"}else s+=e[r];s+="</w:Selector>"}return s+="</w:SelectorSet>"}return p.NextMessageId=1,p.Address="/wsman",p.comm=CreateWsmanComm(e,s,r,a,o,t),p.PerformAjax=function(e,o,s,r,a){null==a&&(a=""),p.comm.PerformAjax('<?xml version=\"1.0\" encoding=\"utf-8\"?><Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:a="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:w="http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd" xmlns="http://www.w3.org/2003/05/soap-envelope" '+a+"><Header><a:Action>"+e,function(e,s,r){if(200==s){var a=p.ParseWsman(e);a&&null!=a?o(p,a.Header.ResourceURI,a,200,r):o(p,null,{Header:{HttpError:s}},601,r)}else o(p,null,{Header:{HttpError:s}},s,r)},s,r)},p.CancelAllQueries=function(e){p.comm.CancelAllQueries(e)},p.GetNameFromUrl=function(e){var s=e.lastIndexOf("/");return-1==s?e:e.substring(s+1)},p.ExecSubscribe=function(e,s,r,a,o,t,n,l,c,d){var m="",i="";null!=c&&null!=d&&(m="<t:IssuedTokens><t:RequestSecurityTokenResponse><t:TokenType>http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#UsernameToken</t:TokenType><t:RequestedSecurityToken><se:UsernameToken><se:Username>"+c+'</se:Username><se:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd#PasswordText">'+d+"</se:Password></se:UsernameToken></t:RequestedSecurityToken></t:RequestSecurityTokenResponse></t:IssuedTokens>",i='<Auth Profile="http://schemas.xmlsoap.org/ws/2004/08/eventing/DeliveryModes/secprofile/http/digest"/>'),l=null!=l&&null!=l?"<a:ReferenceParameters>"+l+"</a:ReferenceParameters>":"";var u="http://schemas.xmlsoap.org/ws/2004/08/eventing/Subscribe</a:Action><a:To>"+p.Address+"</a:To><w:ResourceURI>"+e+"</w:ResourceURI><a:MessageID>"+p.NextMessageId+++"</a:MessageID><a:ReplyTo><a:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</a:Address></a:ReplyTo>"+w(n)+m+'</Header><Body><e:Subscribe><e:Delivery Mode="http://schemas.dmtf.org/wbem/wsman/1/wsman/'+s+'"><e:NotifyTo><a:Address>'+r+"</a:Address></e:NotifyTo>"+i+"</e:Delivery><e:Expires>PT0.000000S</e:Expires></e:Subscribe>";p.PerformAjax(u+"</Body></Envelope>",a,o,t,'xmlns:e="http://schemas.xmlsoap.org/ws/2004/08/eventing" xmlns:t="http://schemas.xmlsoap.org/ws/2005/02/trust" xmlns:se="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:m="http://x.com"')},p.ExecUnSubscribe=function(e,s,r,a,o){var t="http://schemas.xmlsoap.org/ws/2004/08/eventing/Unsubscribe</a:Action><a:To>"+p.Address+"</a:To><w:ResourceURI>"+e+"</w:ResourceURI><a:MessageID>"+p.NextMessageId+++"</a:MessageID><a:ReplyTo><a:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</a:Address></a:ReplyTo>"+w(o)+"</Header><Body><e:Unsubscribe/>";p.PerformAjax(t+"</Body></Envelope>",s,r,a,'xmlns:e="http://schemas.xmlsoap.org/ws/2004/08/eventing"')},p.ExecPut=function(e,s,r,a,o,t){var n="http://schemas.xmlsoap.org/ws/2004/09/transfer/Put</a:Action><a:To>"+p.Address+"</a:To><w:ResourceURI>"+e+"</w:ResourceURI><a:MessageID>"+p.NextMessageId+++"</a:MessageID><a:ReplyTo><a:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</a:Address></a:ReplyTo><w:OperationTimeout>PT60.000S</w:OperationTimeout>"+w(t)+"</Header><Body>"+function(e,s){if(!e||null==s)return"";var r=p.GetNameFromUrl(e),a="<r:"+r+' xmlns:r="'+e+'">';for(var o in s)if(s.hasOwnProperty(o)&&0!==o.indexOf("__")&&0!==o.indexOf("@")&&void 0!==s[o]&&null!==s[o]&&"function"!=typeof s[o])if("object"==typeof s[o]&&s[o].ReferenceParameters){a+="<r:"+o+"><a:Address>"+s[o].Address+"</a:Address><a:ReferenceParameters><w:ResourceURI>"+s[o].ReferenceParameters.ResourceURI+"</w:ResourceURI><w:SelectorSet>";var t=s[o].ReferenceParameters.SelectorSet.Selector;if(Array.isArray(t))for(var n=0;n<t.length;n++)a+="<w:Selector"+l(t[n])+">"+t[n].Value+"</w:Selector>";else a+="<w:Selector"+l(t)+">"+t.Value+"</w:Selector>";a+="</w:SelectorSet></a:ReferenceParameters></r:"+o+">"}else if(Array.isArray(s[o]))for(n=0;n<s[o].length;n++)a+="<r:"+o+">"+s[o][n].toString()+"</r:"+o+">";else a+="<r:"+o+">"+s[o].toString()+"</r:"+o+">";return a+="</r:"+r+">"}(e,s);p.PerformAjax(n+"</Body></Envelope>",r,a,o)},p.ExecCreate=function(e,s,r,a,o,t){var n=p.GetNameFromUrl(e),l="http://schemas.xmlsoap.org/ws/2004/09/transfer/Create</a:Action><a:To>"+p.Address+"</a:To><w:ResourceURI>"+e+"</w:ResourceURI><a:MessageID>"+p.NextMessageId+++"</a:MessageID><a:ReplyTo><a:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</a:Address></a:ReplyTo><w:OperationTimeout>PT60S</w:OperationTimeout>"+w(t)+"</Header><Body><g:"+n+' xmlns:g="'+e+'">';for(var c in s)l+="<g:"+c+">"+s[c]+"</g:"+c+">";p.PerformAjax(l+"</g:"+n+"></Body></Envelope>",r,a,o)},p.ExecCreateXml=function(e,s,r,a,o){var t=p.GetNameFromUrl(e);p.PerformAjax("http://schemas.xmlsoap.org/ws/2004/09/transfer/Create</a:Action><a:To>"+p.Address+"</a:To><w:ResourceURI>"+e+"</w:ResourceURI><a:MessageID>"+p.NextMessageId+++"</a:MessageID><a:ReplyTo><a:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</a:Address></a:ReplyTo><w:OperationTimeout>PT60.000S</w:OperationTimeout></Header><Body><r:"+t+' xmlns:r="'+e+'">'+s+"</r:"+t+"></Body></Envelope>",r,a,o)},p.ExecDelete=function(e,s,r,a,o){var t="http://schemas.xmlsoap.org/ws/2004/09/transfer/Delete</a:Action><a:To>"+p.Address+"</a:To><w:ResourceURI>"+e+"</w:ResourceURI><a:MessageID>"+p.NextMessageId+++"</a:MessageID><a:ReplyTo><a:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</a:Address></a:ReplyTo><w:OperationTimeout>PT60S</w:OperationTimeout>"+w(s)+"</Header><Body /></Envelope>";p.PerformAjax(t,r,a,o)},p.ExecGet=function(e,s,r,a){p.PerformAjax("http://schemas.xmlsoap.org/ws/2004/09/transfer/Get</a:Action><a:To>"+p.Address+"</a:To><w:ResourceURI>"+e+"</w:ResourceURI><a:MessageID>"+p.NextMessageId+++"</a:MessageID><a:ReplyTo><a:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</a:Address></a:ReplyTo><w:OperationTimeout>PT60S</w:OperationTimeout></Header><Body /></Envelope>",s,r,a)},p.ExecMethod=function(e,s,r,a,o,t,n){var l="";for(var c in r)if(null!=r[c])if(Array.isArray(r[c]))for(var d in r[c])l+="<r:"+c+">"+r[c][d]+"</r:"+c+">";else l+="<r:"+c+">"+r[c]+"</r:"+c+">";p.ExecMethodXml(e,s,l,a,o,t,n)},p.ExecMethodXml=function(e,s,r,a,o,t,n){p.PerformAjax(e+"/"+s+"</a:Action><a:To>"+p.Address+"</a:To><w:ResourceURI>"+e+"</w:ResourceURI><a:MessageID>"+p.NextMessageId+++"</a:MessageID><a:ReplyTo><a:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</a:Address></a:ReplyTo><w:OperationTimeout>PT60S</w:OperationTimeout>"+w(n)+"</Header><Body><r:"+s+'_INPUT xmlns:r="'+e+'">'+r+"</r:"+s+"_INPUT></Body></Envelope>",a,o,t)},p.ExecEnum=function(e,s,r,a){p.PerformAjax("http://schemas.xmlsoap.org/ws/2004/09/enumeration/Enumerate</a:Action><a:To>"+p.Address+"</a:To><w:ResourceURI>"+e+"</w:ResourceURI><a:MessageID>"+p.NextMessageId+++'</a:MessageID><a:ReplyTo><a:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</a:Address></a:ReplyTo><w:OperationTimeout>PT60S</w:OperationTimeout></Header><Body><Enumerate xmlns="http://schemas.xmlsoap.org/ws/2004/09/enumeration" /></Body></Envelope>',s,r,a)},p.ExecPull=function(e,s,r,a,o){p.PerformAjax("http://schemas.xmlsoap.org/ws/2004/09/enumeration/Pull</a:Action><a:To>"+p.Address+"</a:To><w:ResourceURI>"+e+"</w:ResourceURI><a:MessageID>"+p.NextMessageId+++'</a:MessageID><a:ReplyTo><a:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</a:Address></a:ReplyTo><w:OperationTimeout>PT60S</w:OperationTimeout></Header><Body><Pull xmlns="http://schemas.xmlsoap.org/ws/2004/09/enumeration"><EnumerationContext>'+s+"</EnumerationContext><MaxElements>999</MaxElements><MaxCharacters>99999</MaxCharacters></Pull></Body></Envelope>",r,a,o)},p.ParseWsman=function(s){try{s.childNodes||(s=function(e){{if(window.DOMParser)return(new DOMParser).parseFromString(e,"text/xml");var s=new ActiveXObject("Microsoft.XMLDOM");return s.async=!1,s.loadXML(e),s}}(s));var e,r={Header:{}},a=s.getElementsByTagName("Header")[0];if(!(a=a||s.getElementsByTagName("a:Header")[0]))return null;for(var o=0;o<a.childNodes.length;o++){var t=a.childNodes[o];r.Header[t.localName]=t.textContent}var n=s.getElementsByTagName("Body")[0];if(!(n=n||s.getElementsByTagName("a:Body")[0]))return null;if(0<n.childNodes.length){var l=(e=n.childNodes[0].localName).indexOf("_OUTPUT");-1!=l&&l==e.length-7&&(e=e.substring(0,e.length-7)),r.Header.Method=e,r.Body=function e(s){var r,a={};for(var o=0;o<s.childNodes.length;o++){var t=s.childNodes[o];"true"==(r=0==t.childElementCount?t.textContent:e(t))&&(r=!0),"false"==r&&(r=!1);var n=r;if(0<t.attributes.length){n={Value:r};for(var l=0;l<t.attributes.length;l++)n["@"+t.attributes[l].name]=t.attributes[l].value}a[t.localName]instanceof Array?a[t.localName].push(n):null==a[t.localName]?a[t.localName]=n:a[t.localName]=[a[t.localName],n]}return a}(n.childNodes[0])}return r}catch(e){return console.log("Unable to parse XML: "+s),null}},p}
\ No newline at end of file
translate/translate.json
+1502
-1447
@@ -17,8 +17,8 @@
17
"zh-chs": " + CIRA",
18
"zh-cht": " + CIRA",
19
"xloc": [
20
- "default.handlebars->29->1339",
21
- "default.handlebars->29->1341"
20
+ "default.handlebars->29->1342",
21
+ "default.handlebars->29->1344"
22
]
23
},
24
{
@@ -204,7 +204,7 @@
204
"zh-chs": " 可以使用密码提示,但不建议使用。",
205
"zh-cht": " 可以使用密碼提示,但不建議使用。",
206
"xloc": [
207
- "default.handlebars->29->1252"
207
+ "default.handlebars->29->1255"
208
]
209
},
210
{
@@ -224,8 +224,8 @@
224
"zh-chs": " 用户需要先登录到该服务器一次,然后才能将其添加到设备组。",
225
"zh-cht": " 用戶需要先登入到該伺服器一次,然後才能將其新增到裝置群。",
226
"xloc": [
227
- "default.handlebars->29->1412",
228
- "default.handlebars->29->1872"
227
+ "default.handlebars->29->1415",
228
+ "default.handlebars->29->1877"
229
]
230
},
231
{
@@ -419,7 +419,7 @@
419
"en": "* 8 characters, 1 upper, 1 lower, 1 numeric, 1 non-alpha numeric.",
420
"nl": "* 8 karakters, 1 hoofdletter, 1 normale letter, 1 nummeriek, 1 niet alfanumeriek.",
421
"xloc": [
422
- "default.handlebars->29->1381",
422
+ "default.handlebars->29->1384",
423
"default.handlebars->29->305"
424
]
425
},
@@ -495,7 +495,7 @@
495
"zh-cht": ",",
496
"xloc": [
497
"default-mobile.handlebars->9->467",
498
- "default.handlebars->29->1482"
498
+ "default.handlebars->29->1485"
499
]
500
},
501
{
@@ -536,7 +536,7 @@
536
"zh-chs": ",MQTT在线",
537
"zh-cht": ",MQTT在線",
538
"xloc": [
539
- "default.handlebars->29->994"
539
+ "default.handlebars->29->997"
540
]
541
},
542
{
@@ -556,7 +556,7 @@
556
"zh-chs": ",软体KVM",
557
"zh-cht": ",軟體KVM",
558
"xloc": [
559
- "default.handlebars->29->818",
559
+ "default.handlebars->29->821",
560
"desktop.handlebars->3->13"
561
]
562
},
@@ -579,9 +579,9 @@
579
"xloc": [
580
"default-mobile.handlebars->9->296",
581
"default-mobile.handlebars->9->305",
582
- "default.handlebars->29->825",
583
- "default.handlebars->29->858",
584
- "default.handlebars->29->870",
582
+ "default.handlebars->29->828",
583
+ "default.handlebars->29->861",
584
+ "default.handlebars->29->873",
585
"desktop.handlebars->3->20",
586
"xterm.handlebars->9->6"
587
]
@@ -702,7 +702,7 @@
702
"zh-chs": ",{0}观看",
703
"zh-cht": ",{0}觀看",
704
"xloc": [
705
- "default.handlebars->29->819",
705
+ "default.handlebars->29->822",
706
"desktop.handlebars->3->14"
707
]
708
},
@@ -767,9 +767,9 @@
767
"xloc": [
768
"default-mobile.handlebars->9->108",
769
"default-mobile.handlebars->9->307",
770
- "default.handlebars->29->1523",
771
- "default.handlebars->29->2027",
772
- "default.handlebars->29->875"
770
+ "default.handlebars->29->1526",
771
+ "default.handlebars->29->2034",
772
+ "default.handlebars->29->878"
773
]
774
},
775
{
@@ -825,7 +825,7 @@
825
"zh-chs": "1个活跃时段",
826
"zh-cht": "1個活躍時段",
827
"xloc": [
828
- "default.handlebars->29->1941"
828
+ "default.handlebars->29->1946"
829
]
830
},
831
{
@@ -847,7 +847,7 @@
847
"xloc": [
848
"default-mobile.handlebars->9->118",
849
"default-mobile.handlebars->9->471",
850
- "default.handlebars->29->1547",
850
+ "default.handlebars->29->1550",
851
"download.handlebars->3->1",
852
"download2.handlebars->5->1"
853
]
@@ -869,7 +869,7 @@
869
"zh-chs": "1条连接",
870
"zh-cht": "1位聯絡文",
871
"xloc": [
872
- "default.handlebars->29->821",
872
+ "default.handlebars->29->824",
873
"desktop.handlebars->3->16"
874
]
875
},
@@ -912,7 +912,7 @@
912
"zh-chs": "1组",
913
"zh-cht": "1群",
914
"xloc": [
915
- "default.handlebars->29->1906"
915
+ "default.handlebars->29->1911"
916
]
917
},
918
{
@@ -954,7 +954,7 @@
954
"zh-chs": "1分钟",
955
"zh-cht": "1分鐘",
956
"xloc": [
957
- "default.handlebars->29->710"
957
+ "default.handlebars->29->713"
958
]
959
},
960
{
@@ -1016,7 +1016,7 @@
1016
"zh-chs": "有1个用户没有显示,请使用搜索框查找用户...",
1017
"zh-cht": "有1個用戶沒有顯示,請使用搜尋框搜尋用戶...",
1018
"xloc": [
1019
- "default.handlebars->29->1696"
1019
+ "default.handlebars->29->1701"
1020
]
1021
},
1022
{
@@ -1082,7 +1082,7 @@
1082
"default-mobile.handlebars->9->172",
1083
"default-mobile.handlebars->9->175",
1084
"default-mobile.handlebars->9->178",
1085
- "default.handlebars->29->1700",
1085
+ "default.handlebars->29->1705",
1086
"default.handlebars->29->250",
1087
"default.handlebars->29->253",
1088
"default.handlebars->29->256",
@@ -1214,7 +1214,7 @@
1214
"zh-chs": "10分钟",
1215
"zh-cht": "10分鐘",
1216
"xloc": [
1217
- "default.handlebars->29->712"
1217
+ "default.handlebars->29->715"
1218
]
1219
},
1220
{
@@ -1283,7 +1283,7 @@
1283
"en": "12 hours",
1284
"nl": "12 uur",
1285
"xloc": [
1286
- "default.handlebars->29->720"
1286
+ "default.handlebars->29->723"
1287
]
1288
},
1289
{
@@ -1325,28 +1325,28 @@
1325
"zh-chs": "15分钟",
1326
"zh-cht": "15分鐘",
1327
"xloc": [
1328
- "default.handlebars->29->713"
1328
+ "default.handlebars->29->716"
1329
]
1330
},
1331
{
1332
"en": "16 hours",
1333
"nl": "16 uur",
1334
"xloc": [
1335
- "default.handlebars->29->721"
1335
+ "default.handlebars->29->724"
1336
]
1337
},
1338
{
1339
"en": "2 days",
1340
"nl": "2 dagen",
1341
"xloc": [
1342
- "default.handlebars->29->723"
1342
+ "default.handlebars->29->726"
1343
]
1344
},
1345
{
1346
"en": "2 hours",
1347
"nl": "2 uur",
1348
"xloc": [
1349
- "default.handlebars->29->717"
1349
+ "default.handlebars->29->720"
1350
]
1351
},
1352
{
@@ -1437,7 +1437,7 @@
1437
"en": "24 hours",
1438
"nl": "24 uur",
1439
"xloc": [
1440
- "default.handlebars->29->722"
1440
+ "default.handlebars->29->725"
1441
]
1442
},
1443
{
@@ -1499,7 +1499,7 @@
1499
"zh-chs": "2FA备份代码已清除",
1500
"zh-cht": "2FA備份代碼已清除",
1501
"xloc": [
1502
- "default.handlebars->29->1658"
1502
+ "default.handlebars->29->1661"
1503
]
1504
},
1505
{
@@ -1519,8 +1519,8 @@
1519
"zh-chs": "启用第二因素身份验证",
1520
"zh-cht": "啟用第二因素身份驗證",
1521
"xloc": [
1522
- "default.handlebars->29->1713",
1523
- "default.handlebars->29->1928"
1522
+ "default.handlebars->29->1718",
1523
+ "default.handlebars->29->1933"
1524
]
1525
},
1526
{
@@ -1639,7 +1639,7 @@
1639
"zh-chs": "30分钟",
1640
"zh-cht": "30分鐘",
1641
"xloc": [
1642
- "default.handlebars->29->714"
1642
+ "default.handlebars->29->717"
1643
]
1644
},
1645
{
@@ -1689,14 +1689,14 @@
1689
"en": "4 days",
1690
"nl": "4 dagen",
1691
"xloc": [
1692
- "default.handlebars->29->724"
1692
+ "default.handlebars->29->727"
1693
]
1694
},
1695
{
1696
"en": "4 hours",
1697
"nl": "4 uur",
1698
"xloc": [
1699
- "default.handlebars->29->718"
1699
+ "default.handlebars->29->721"
1700
]
1701
},
1702
{
@@ -1779,7 +1779,7 @@
1779
"zh-chs": "45分钟",
1780
"zh-cht": "45分鐘",
1781
"xloc": [
1782
- "default.handlebars->29->715"
1782
+ "default.handlebars->29->718"
1783
]
1784
},
1785
{
@@ -1819,7 +1819,7 @@
1819
"zh-chs": "5分钟",
1820
"zh-cht": "5分鐘",
1821
"xloc": [
1822
- "default.handlebars->29->711"
1822
+ "default.handlebars->29->714"
1823
]
1824
},
1825
{
@@ -1932,7 +1932,7 @@
1932
"en": "60 minutes",
1933
"nl": "60 minuten",
1934
"xloc": [
1935
- "default.handlebars->29->716"
1935
+ "default.handlebars->29->719"
1936
]
1937
},
1938
{
@@ -2052,7 +2052,7 @@
2052
"zh-chs": "7天电源状态",
2053
"zh-cht": "7天電源狀態",
2054
"xloc": [
2055
- "default.handlebars->29->751"
2055
+ "default.handlebars->29->754"
2056
]
2057
},
2058
{
@@ -2117,7 +2117,7 @@
2117
"xloc": [
2118
"default.handlebars->29->329",
2119
"default.handlebars->29->343",
2120
- "default.handlebars->29->719"
2120
+ "default.handlebars->29->722"
2121
]
2122
},
2123
{
@@ -2335,7 +2335,7 @@
2335
"zh-cht": "ACM",
2336
"xloc": [
2337
"default-mobile.handlebars->9->236",
2338
- "default.handlebars->29->1355",
2338
+ "default.handlebars->29->1358",
2339
"default.handlebars->29->560"
2340
]
2341
},
@@ -2461,7 +2461,7 @@
2461
"zh-chs": "拒绝访问",
2462
"zh-cht": "拒絕存取",
2463
"xloc": [
2464
- "default.handlebars->29->995"
2464
+ "default.handlebars->29->998"
2465
]
2466
},
2467
{
@@ -2503,7 +2503,7 @@
2503
"zh-chs": "访问服务器档案",
2504
"zh-cht": "存取伺服器檔案",
2505
"xloc": [
2506
- "default.handlebars->29->1878"
2506
+ "default.handlebars->29->1883"
2507
]
2508
},
2509
{
@@ -2592,8 +2592,8 @@
2592
"default-mobile.handlebars->9->93",
2593
"default-mobile.handlebars->9->95",
2594
"default-mobile.handlebars->container->page_content->column_l->p3->p3info->1->p3AccountActions->p2AccountSecurity->1->0",
2595
- "default.handlebars->29->1261",
2596
- "default.handlebars->29->1263",
2595
+ "default.handlebars->29->1264",
2596
+ "default.handlebars->29->1266",
2597
"default.handlebars->29->529",
2598
"default.handlebars->29->531"
2599
]
@@ -2656,7 +2656,7 @@
2656
"zh-chs": "帐户已更改:{0}",
2657
"zh-cht": "帳戶已更改:{0}",
2658
"xloc": [
2659
- "default.handlebars->29->1631"
2659
+ "default.handlebars->29->1634"
2660
]
2661
},
2662
{
@@ -2676,7 +2676,7 @@
2676
"zh-chs": "创建帐户,电子邮件为{0}",
2677
"zh-cht": "創建帳戶,電子郵件為{0}",
2678
"xloc": [
2679
- "default.handlebars->29->1630"
2679
+ "default.handlebars->29->1633"
2680
]
2681
},
2682
{
@@ -2696,7 +2696,7 @@
2696
"zh-chs": "创建帐户,用户名是{0}",
2697
"zh-cht": "帳戶已創建,用戶名是{0}",
2698
"xloc": [
2699
- "default.handlebars->29->1629"
2699
+ "default.handlebars->29->1632"
2700
]
2701
},
2702
{
@@ -2716,8 +2716,8 @@
2716
"zh-chs": "帐户已被锁定",
2717
"zh-cht": "帳戶已被鎖定",
2718
"xloc": [
2719
- "default.handlebars->29->1715",
2720
- "default.handlebars->29->1875"
2719
+ "default.handlebars->29->1720",
2720
+ "default.handlebars->29->1880"
2721
]
2722
},
2723
{
@@ -2781,7 +2781,7 @@
2781
"zh-chs": "帐号登录",
2782
"zh-cht": "帳號登錄",
2783
"xloc": [
2784
- "default.handlebars->29->1566"
2784
+ "default.handlebars->29->1569"
2785
]
2786
},
2787
{
@@ -2801,7 +2801,7 @@
2801
"zh-chs": "帐户登出",
2802
"zh-cht": "帳戶登出",
2803
"xloc": [
2804
- "default.handlebars->29->1567"
2804
+ "default.handlebars->29->1570"
2805
]
2806
},
2807
{
@@ -2843,7 +2843,7 @@
2843
"zh-chs": "帐户密码已更改:{0}",
2844
"zh-cht": "帳戶密碼已更改:{0}",
2845
"xloc": [
2846
- "default.handlebars->29->1639"
2846
+ "default.handlebars->29->1642"
2847
]
2848
},
2849
{
@@ -2863,7 +2863,7 @@
2863
"zh-chs": "帐户已删除",
2864
"zh-cht": "帳戶已刪除",
2865
"xloc": [
2866
- "default.handlebars->29->1628"
2866
+ "default.handlebars->29->1631"
2867
]
2868
},
2869
{
@@ -2903,7 +2903,7 @@
2903
"zh-chs": "指令",
2904
"zh-cht": "指令",
2905
"xloc": [
2906
- "default.handlebars->29->1000",
2906
+ "default.handlebars->29->1003",
2907
"default.handlebars->container->column_l->p42->p42tbl->1->0->8"
2908
]
2909
},
@@ -2924,8 +2924,8 @@
2924
"zh-chs": "动作档案",
2925
"zh-cht": "動作檔案",
2926
"xloc": [
2927
- "default.handlebars->29->794",
2928
- "default.handlebars->29->796"
2927
+ "default.handlebars->29->797",
2928
+ "default.handlebars->29->799"
2929
]
2930
},
2931
{
@@ -3023,7 +3023,7 @@
3023
"default-mobile.handlebars->9->370",
3024
"default.handlebars->29->553",
3025
"default.handlebars->29->555",
3026
- "default.handlebars->29->956"
3026
+ "default.handlebars->29->959"
3027
]
3028
},
3029
{
@@ -3046,6 +3046,12 @@
3046
"default.handlebars->29->202"
3047
]
3048
},
3049
+ {
3050
+ "en": "Active Device Sharing",
3051
+ "xloc": [
3052
+ "default.handlebars->29->661"
3053
+ ]
3054
+ },
3055
{
3056
"cs": "Aktivní uživatel{0}",
3057
"de": "Aktive Benutzer{0}",
@@ -3083,7 +3089,7 @@
3089
"zh-chs": "添加代理",
3090
"zh-cht": "新增代理",
3091
"xloc": [
3086
- "default.handlebars->29->1351",
3092
+ "default.handlebars->29->1354",
3093
"default.handlebars->29->283"
3094
]
3095
},
@@ -3121,8 +3127,8 @@
3127
"zh-chs": "添加设备",
3128
"zh-cht": "新增裝置",
3129
"xloc": [
3124
- "default.handlebars->29->1852",
3125
- "default.handlebars->29->1976"
3130
+ "default.handlebars->29->1857",
3131
+ "default.handlebars->29->1981"
3132
]
3133
},
3134
{
@@ -3142,7 +3148,7 @@
3148
"zh-chs": "添加设备日志",
3149
"zh-cht": "新增裝置日誌",
3150
"xloc": [
3145
- "default.handlebars->29->700"
3151
+ "default.handlebars->29->703"
3152
]
3153
},
3154
{
@@ -3162,9 +3168,9 @@
3168
"zh-chs": "添加设备组",
3169
"zh-cht": "新增裝置群",
3170
"xloc": [
3165
- "default.handlebars->29->1446",
3166
- "default.handlebars->29->1846",
3167
- "default.handlebars->29->1964",
3171
+ "default.handlebars->29->1449",
3172
+ "default.handlebars->29->1851",
3173
+ "default.handlebars->29->1969",
3174
"default.handlebars->29->237"
3175
]
3176
},
@@ -3185,7 +3191,7 @@
3191
"zh-chs": "添加设备组权限",
3192
"zh-cht": "新增裝置群權限",
3193
"xloc": [
3188
- "default.handlebars->29->1443"
3194
+ "default.handlebars->29->1446"
3195
]
3196
},
3197
{
@@ -3205,8 +3211,8 @@
3211
"zh-chs": "添加设备权限",
3212
"zh-cht": "新增裝置權限",
3213
"xloc": [
3208
- "default.handlebars->29->1448",
3209
- "default.handlebars->29->1450"
3214
+ "default.handlebars->29->1451",
3215
+ "default.handlebars->29->1453"
3216
]
3217
},
3218
{
@@ -3303,7 +3309,7 @@
3309
"zh-chs": "添加成员身份",
3310
"zh-cht": "新增成員身份",
3311
"xloc": [
3306
- "default.handlebars->29->1994"
3312
+ "default.handlebars->29->2001"
3313
]
3314
},
3315
{
@@ -3343,8 +3349,8 @@
3349
"zh-chs": "添加安全密钥",
3350
"zh-cht": "新增安全密鑰",
3351
"xloc": [
3346
- "default.handlebars->29->1028",
3347
- "default.handlebars->29->1029",
3352
+ "default.handlebars->29->1031",
3353
+ "default.handlebars->29->1032",
3354
"default.handlebars->29->149",
3355
"default.handlebars->29->151",
3356
"default.handlebars->29->154",
@@ -3389,7 +3395,7 @@
3395
"zh-chs": "添加用户设备权限",
3396
"zh-cht": "新增用戶裝置權限",
3397
"xloc": [
3392
- "default.handlebars->29->1453"
3398
+ "default.handlebars->29->1456"
3399
]
3400
},
3401
{
@@ -3409,9 +3415,9 @@
3415
"zh-chs": "添加用户组",
3416
"zh-cht": "新增用戶群",
3417
"xloc": [
3412
- "default.handlebars->29->1347",
3413
- "default.handlebars->29->1445",
3414
- "default.handlebars->29->1970",
3418
+ "default.handlebars->29->1350",
3419
+ "default.handlebars->29->1448",
3420
+ "default.handlebars->29->1975",
3421
"default.handlebars->29->654"
3422
]
3423
},
@@ -3432,7 +3438,7 @@
3438
"zh-chs": "添加用户组设备权限",
3439
"zh-cht": "新增用戶群裝置權限",
3440
"xloc": [
3435
- "default.handlebars->29->1455"
3441
+ "default.handlebars->29->1458"
3442
]
3443
},
3444
{
@@ -3489,8 +3495,8 @@
3495
"zh-chs": "添加用户",
3496
"zh-cht": "新增用戶",
3497
"xloc": [
3492
- "default.handlebars->29->1346",
3493
- "default.handlebars->29->1841"
3498
+ "default.handlebars->29->1349",
3499
+ "default.handlebars->29->1846"
3500
]
3501
},
3502
{
@@ -3510,7 +3516,7 @@
3516
"zh-chs": "将用户添加到设备组",
3517
"zh-cht": "將用戶新增到裝置群",
3518
"xloc": [
3513
- "default.handlebars->29->1442"
3519
+ "default.handlebars->29->1445"
3520
]
3521
},
3522
{
@@ -3530,7 +3536,7 @@
3536
"zh-chs": "将用户添加到用户组",
3537
"zh-cht": "將用戶新增到用戶群",
3538
"xloc": [
3533
- "default.handlebars->29->1874"
3539
+ "default.handlebars->29->1879"
3540
]
3541
},
3542
{
@@ -3647,7 +3653,7 @@
3653
"zh-chs": "通过安装Mesh Agent将新计算机添加到该设备组。",
3654
"zh-cht": "通過安裝Mesh Agent將新電腦新增到該裝置群。",
3655
"xloc": [
3650
- "default.handlebars->29->1350",
3656
+ "default.handlebars->29->1353",
3657
"default.handlebars->29->282"
3658
]
3659
},
@@ -3695,7 +3701,13 @@
3701
"zh-chs": "添加了身份验证应用程序",
3702
"zh-cht": "添加了身份驗證應用程序",
3703
"xloc": [
3698
- "default.handlebars->29->1655"
3704
+ "default.handlebars->29->1658"
3705
+ ]
3706
+ },
3707
+ {
3708
+ "en": "Added device share {0} from {1} to {2}",
3709
+ "xloc": [
3710
+ "default.handlebars->29->1669"
3711
]
3712
},
3713
{
@@ -3715,8 +3727,8 @@
3727
"zh-chs": "已将设备{0}添加到设备组{1}",
3728
"zh-cht": "已將設備{0}添加到設備組{1}",
3729
"xloc": [
3718
- "default.handlebars->29->1622",
3719
- "default.handlebars->29->1649"
3730
+ "default.handlebars->29->1625",
3731
+ "default.handlebars->29->1652"
3732
]
3733
},
3734
{
@@ -3736,7 +3748,7 @@
3748
"zh-chs": "添加了安全密钥",
3749
"zh-cht": "添加了安全密鑰",
3750
"xloc": [
3739
- "default.handlebars->29->1660"
3751
+ "default.handlebars->29->1663"
3752
]
3753
},
3754
{
@@ -3756,7 +3768,7 @@
3768
"zh-chs": "已将用户组{0}添加到设备组{1}",
3769
"zh-cht": "已將用戶組{0}添加到設備組{1}",
3770
"xloc": [
3759
- "default.handlebars->29->1633"
3771
+ "default.handlebars->29->1636"
3772
]
3773
},
3774
{
@@ -3776,8 +3788,8 @@
3788
"zh-chs": "已将用户{0}添加到用户组{1}",
3789
"zh-cht": "已將用戶{0}添加到用戶組{1}",
3790
"xloc": [
3779
- "default.handlebars->29->1636",
3780
- "default.handlebars->29->1645"
3791
+ "default.handlebars->29->1639",
3792
+ "default.handlebars->29->1648"
3793
]
3794
},
3795
{
@@ -3838,7 +3850,7 @@
3850
"zh-cht": "管理員控制模式(ACM)",
3851
"xloc": [
3852
"default-mobile.handlebars->9->372",
3841
- "default.handlebars->29->958"
3853
+ "default.handlebars->29->961"
3854
]
3855
},
3856
{
@@ -3859,7 +3871,7 @@
3871
"zh-cht": "管理員憑證",
3872
"xloc": [
3873
"default-mobile.handlebars->9->378",
3862
- "default.handlebars->29->964"
3874
+ "default.handlebars->29->967"
3875
]
3876
},
3877
{
@@ -3900,7 +3912,7 @@
3912
"zh-chs": "管理领域",
3913
"zh-cht": "管理領域",
3914
"xloc": [
3903
- "default.handlebars->29->1910"
3915
+ "default.handlebars->29->1915"
3916
]
3917
},
3918
{
@@ -3941,7 +3953,7 @@
3953
"zh-chs": "管理领域",
3954
"zh-cht": "管理領域",
3955
"xloc": [
3944
- "default.handlebars->29->1778"
3956
+ "default.handlebars->29->1783"
3957
]
3958
},
3959
{
@@ -3961,7 +3973,7 @@
3973
"zh-chs": "管理员",
3974
"zh-cht": "管理員",
3975
"xloc": [
3964
- "default.handlebars->29->1707"
3976
+ "default.handlebars->29->1712"
3977
]
3978
},
3979
{
@@ -3981,7 +3993,7 @@
3993
"zh-chs": "南非文",
3994
"zh-cht": "南非文",
3995
"xloc": [
3984
- "default.handlebars->29->1031"
3996
+ "default.handlebars->29->1034"
3997
]
3998
},
3999
{
@@ -4004,8 +4016,8 @@
4016
"default-mobile.handlebars->9->203",
4017
"default-mobile.handlebars->9->228",
4018
"default-mobile.handlebars->9->250",
4007
- "default.handlebars->29->1509",
4008
- "default.handlebars->29->1517",
4019
+ "default.handlebars->29->1512",
4020
+ "default.handlebars->29->1520",
4021
"default.handlebars->29->213",
4022
"default.handlebars->29->422",
4023
"default.handlebars->container->column_l->p15->consoleTable->1->6->1->1->1->0->p15outputselecttd->p15outputselect->1"
@@ -4028,8 +4040,8 @@
4040
"zh-chs": "代理+英特尔AMT",
4041
"zh-cht": "代理+Intel® AMT",
4042
"xloc": [
4031
- "default.handlebars->29->1511",
4032
- "default.handlebars->29->1519"
4043
+ "default.handlebars->29->1514",
4044
+ "default.handlebars->29->1522"
4045
]
4046
},
4047
{
@@ -4070,7 +4082,7 @@
4082
"zh-cht": "代理控制台",
4083
"xloc": [
4084
"default-mobile.handlebars->9->449",
4073
- "default.handlebars->29->1463"
4085
+ "default.handlebars->29->1466"
4086
]
4087
},
4088
{
@@ -4090,7 +4102,7 @@
4102
"zh-chs": "代理错误计数器",
4103
"zh-cht": "代理錯誤計數器",
4104
"xloc": [
4093
- "default.handlebars->29->2037"
4105
+ "default.handlebars->29->2044"
4106
]
4107
},
4108
{
@@ -4193,7 +4205,7 @@
4205
"zh-chs": "代理时段",
4206
"zh-cht": "代理時段",
4207
"xloc": [
4196
- "default.handlebars->29->2053"
4208
+ "default.handlebars->29->2060"
4209
]
4210
},
4211
{
@@ -4234,7 +4246,7 @@
4246
"zh-chs": "代理类型",
4247
"zh-cht": "代理類型",
4248
"xloc": [
4237
- "default.handlebars->29->1515",
4249
+ "default.handlebars->29->1518",
4250
"default.handlebars->container->column_l->p21->3->1->meshOsChartDiv->1"
4251
]
4252
},
@@ -4255,7 +4267,7 @@
4267
"zh-chs": "代理关闭了与服务器压缩的{0}%代理会话。已发送:{1},已压缩:{2}",
4268
"zh-cht": "代理關閉了與{0}%代理到服務器壓縮的會話。已發送:{1},已壓縮:{2}",
4269
"xloc": [
4258
- "default.handlebars->29->1619"
4270
+ "default.handlebars->29->1622"
4271
]
4272
},
4273
{
@@ -4317,7 +4329,7 @@
4329
"zh-chs": "代理离线",
4330
"zh-cht": "代理離線",
4331
"xloc": [
4320
- "default.handlebars->29->993"
4332
+ "default.handlebars->29->996"
4333
]
4334
},
4335
{
@@ -4337,7 +4349,7 @@
4349
"zh-chs": "代理在线",
4350
"zh-cht": "代理在線",
4351
"xloc": [
4340
- "default.handlebars->29->992"
4352
+ "default.handlebars->29->995"
4353
]
4354
},
4355
{
@@ -4365,7 +4377,7 @@
4377
"zh-chs": "代理",
4378
"zh-cht": "代理",
4379
"xloc": [
4368
- "default.handlebars->29->2069"
4380
+ "default.handlebars->29->2076"
4381
]
4382
},
4383
{
@@ -4385,7 +4397,7 @@
4397
"zh-chs": "阿尔巴尼亚文",
4398
"zh-cht": "阿爾巴尼亞文",
4399
"xloc": [
4388
- "default.handlebars->29->1032"
4400
+ "default.handlebars->29->1035"
4401
]
4402
},
4403
{
@@ -4428,7 +4440,7 @@
4440
"zh-chs": "全部可用",
4441
"zh-cht": "全部可用",
4442
"xloc": [
4431
- "default.handlebars->29->1670"
4443
+ "default.handlebars->29->1675"
4444
]
4445
},
4446
{
@@ -4465,7 +4477,7 @@
4477
"zh-chs": "所有事件",
4478
"zh-cht": "所有事件",
4479
"xloc": [
4468
- "default.handlebars->29->1668"
4480
+ "default.handlebars->29->1673"
4481
]
4482
},
4483
{
@@ -4485,9 +4497,9 @@
4497
"zh-chs": "全部聚焦",
4498
"zh-cht": "全部聚焦",
4499
"xloc": [
4488
- "default.handlebars->29->826",
4489
- "default.handlebars->29->828",
4490
- "default.handlebars->29->829"
4500
+ "default.handlebars->29->829",
4501
+ "default.handlebars->29->831",
4502
+ "default.handlebars->29->832"
4503
]
4504
},
4505
{
@@ -4507,8 +4519,8 @@
4519
"zh-chs": "允许用户管理此设备组和该组中的设备。",
4520
"zh-cht": "允許用戶管理此裝置群和該群中的裝置。",
4521
"xloc": [
4510
- "default.handlebars->29->1410",
4511
- "default.handlebars->29->1871"
4522
+ "default.handlebars->29->1413",
4523
+ "default.handlebars->29->1876"
4524
]
4525
},
4526
{
@@ -4528,7 +4540,7 @@
4540
"zh-chs": "允许用户管理此设备。",
4541
"zh-cht": "允許用戶管理此裝置。",
4542
"xloc": [
4531
- "default.handlebars->29->1411"
4543
+ "default.handlebars->29->1414"
4544
]
4545
},
4546
{
@@ -4592,7 +4604,7 @@
4604
"zh-chs": "备用(F10 = ESC + 0)",
4605
"zh-cht": "備用(F10 = ESC + 0)",
4606
"xloc": [
4595
- "default.handlebars->29->863"
4607
+ "default.handlebars->29->866"
4608
]
4609
},
4610
{
@@ -4633,9 +4645,9 @@
4645
"zh-chs": "一直通知",
4646
"zh-cht": "一直通知",
4647
"xloc": [
4636
- "default.handlebars->29->1326",
4637
- "default.handlebars->29->1832",
4638
- "default.handlebars->29->1919",
4648
+ "default.handlebars->29->1329",
4649
+ "default.handlebars->29->1837",
4650
+ "default.handlebars->29->1924",
4651
"default.handlebars->29->592"
4652
]
4653
},
@@ -4656,9 +4668,9 @@
4668
"zh-chs": "一直提示",
4669
"zh-cht": "一直提示",
4670
"xloc": [
4659
- "default.handlebars->29->1327",
4660
- "default.handlebars->29->1833",
4661
- "default.handlebars->29->1920",
4671
+ "default.handlebars->29->1330",
4672
+ "default.handlebars->29->1838",
4673
+ "default.handlebars->29->1925",
4674
"default.handlebars->29->593"
4675
]
4676
},
@@ -4882,7 +4894,7 @@
4894
"zh-chs": "阿拉伯文(阿尔及利亚)",
4895
"zh-cht": "阿拉伯文(阿爾及利亞)",
4896
"xloc": [
4885
- "default.handlebars->29->1034"
4897
+ "default.handlebars->29->1037"
4898
]
4899
},
4900
{
@@ -4902,7 +4914,7 @@
4914
"zh-chs": "阿拉伯文(巴林)",
4915
"zh-cht": "阿拉伯文(巴林)",
4916
"xloc": [
4905
- "default.handlebars->29->1035"
4917
+ "default.handlebars->29->1038"
4918
]
4919
},
4920
{
@@ -4922,7 +4934,7 @@
4934
"zh-chs": "阿拉伯文(埃及)",
4935
"zh-cht": "阿拉伯文(埃及)",
4936
"xloc": [
4925
- "default.handlebars->29->1036"
4937
+ "default.handlebars->29->1039"
4938
]
4939
},
4940
{
@@ -4942,7 +4954,7 @@
4954
"zh-chs": "阿拉伯文(伊拉克)",
4955
"zh-cht": "阿拉伯文(伊拉克)",
4956
"xloc": [
4945
- "default.handlebars->29->1037"
4957
+ "default.handlebars->29->1040"
4958
]
4959
},
4960
{
@@ -4962,7 +4974,7 @@
4974
"zh-chs": "阿拉伯文(约旦)",
4975
"zh-cht": "阿拉伯文(約旦)",
4976
"xloc": [
4965
- "default.handlebars->29->1038"
4977
+ "default.handlebars->29->1041"
4978
]
4979
},
4980
{
@@ -4982,7 +4994,7 @@
4994
"zh-chs": "阿拉伯文(科威特)",
4995
"zh-cht": "阿拉伯文(科威特)",
4996
"xloc": [
4985
- "default.handlebars->29->1039"
4997
+ "default.handlebars->29->1042"
4998
]
4999
},
5000
{
@@ -5002,7 +5014,7 @@
5014
"zh-chs": "阿拉伯文(黎巴嫩)",
5015
"zh-cht": "阿拉伯文(黎巴嫩)",
5016
"xloc": [
5005
- "default.handlebars->29->1040"
5017
+ "default.handlebars->29->1043"
5018
]
5019
},
5020
{
@@ -5022,7 +5034,7 @@
5034
"zh-chs": "阿拉伯文(利比亚)",
5035
"zh-cht": "阿拉伯文(利比亞)",
5036
"xloc": [
5025
- "default.handlebars->29->1041"
5037
+ "default.handlebars->29->1044"
5038
]
5039
},
5040
{
@@ -5042,7 +5054,7 @@
5054
"zh-chs": "阿拉伯文(摩洛哥)",
5055
"zh-cht": "阿拉伯文(摩洛哥)",
5056
"xloc": [
5045
- "default.handlebars->29->1042"
5057
+ "default.handlebars->29->1045"
5058
]
5059
},
5060
{
@@ -5062,7 +5074,7 @@
5074
"zh-chs": "阿拉伯文(阿曼)",
5075
"zh-cht": "阿拉伯文(阿曼)",
5076
"xloc": [
5065
- "default.handlebars->29->1043"
5077
+ "default.handlebars->29->1046"
5078
]
5079
},
5080
{
@@ -5082,7 +5094,7 @@
5094
"zh-chs": "阿拉伯文(卡塔尔)",
5095
"zh-cht": "阿拉伯文(卡塔爾)",
5096
"xloc": [
5085
- "default.handlebars->29->1044"
5097
+ "default.handlebars->29->1047"
5098
]
5099
},
5100
{
@@ -5102,7 +5114,7 @@
5114
"zh-chs": "阿拉伯文(沙特阿拉伯)",
5115
"zh-cht": "阿拉伯文(沙特阿拉伯)",
5116
"xloc": [
5105
- "default.handlebars->29->1045"
5117
+ "default.handlebars->29->1048"
5118
]
5119
},
5120
{
@@ -5122,7 +5134,7 @@
5134
"zh-chs": "阿拉伯文(标准)",
5135
"zh-cht": "阿拉伯文(標準)",
5136
"xloc": [
5125
- "default.handlebars->29->1033"
5137
+ "default.handlebars->29->1036"
5138
]
5139
},
5140
{
@@ -5142,7 +5154,7 @@
5154
"zh-chs": "阿拉伯文(叙利亚)",
5155
"zh-cht": "阿拉伯文(敘利亞)",
5156
"xloc": [
5145
- "default.handlebars->29->1046"
5157
+ "default.handlebars->29->1049"
5158
]
5159
},
5160
{
@@ -5162,7 +5174,7 @@
5174
"zh-chs": "阿拉伯文(突尼斯)",
5175
"zh-cht": "阿拉伯文(突尼斯)",
5176
"xloc": [
5165
- "default.handlebars->29->1047"
5177
+ "default.handlebars->29->1050"
5178
]
5179
},
5180
{
@@ -5182,7 +5194,7 @@
5194
"zh-chs": "阿拉伯文(阿联酋)",
5195
"zh-cht": "阿拉伯文(阿聯酋)",
5196
"xloc": [
5185
- "default.handlebars->29->1048"
5197
+ "default.handlebars->29->1051"
5198
]
5199
},
5200
{
@@ -5202,7 +5214,7 @@
5214
"zh-chs": "阿拉伯文(也门)",
5215
"zh-cht": "阿拉伯文(也門)",
5216
"xloc": [
5205
- "default.handlebars->29->1049"
5217
+ "default.handlebars->29->1052"
5218
]
5219
},
5220
{
@@ -5222,7 +5234,7 @@
5234
"zh-chs": "阿拉贡文",
5235
"zh-cht": "阿拉貢文",
5236
"xloc": [
5225
- "default.handlebars->29->1050"
5237
+ "default.handlebars->29->1053"
5238
]
5239
},
5240
{
@@ -5243,7 +5255,7 @@
5255
"zh-cht": "結構",
5256
"xloc": [
5257
"default-mobile.handlebars->9->342",
5246
- "default.handlebars->29->918"
5258
+ "default.handlebars->29->921"
5259
]
5260
},
5261
{
@@ -5284,7 +5296,7 @@
5296
"zh-cht": "你確定要刪除群{0}嗎?刪除裝置群還將刪除該群中有關裝置的所有訊息。",
5297
"xloc": [
5298
"default-mobile.handlebars->9->418",
5287
- "default.handlebars->29->1386"
5299
+ "default.handlebars->29->1389"
5300
]
5301
},
5302
{
@@ -5304,7 +5316,7 @@
5316
"zh-chs": "您确定要删除节点{0}吗?",
5317
"zh-cht": "你確定要刪除節點{0}嗎?",
5318
"xloc": [
5307
- "default.handlebars->29->773"
5319
+ "default.handlebars->29->776"
5320
]
5321
},
5322
{
@@ -5324,7 +5336,7 @@
5336
"zh-chs": "您确定要卸载所选代理吗?",
5337
"zh-cht": "你確定要卸載所選代理嗎?",
5338
"xloc": [
5327
- "default.handlebars->29->762"
5339
+ "default.handlebars->29->765"
5340
]
5341
},
5342
{
@@ -5344,7 +5356,7 @@
5356
"zh-chs": "您确定要卸载所选的{0}代理吗?",
5357
"zh-cht": "你確定要卸載所選的{0}代理嗎?",
5358
"xloc": [
5347
- "default.handlebars->29->761"
5359
+ "default.handlebars->29->764"
5360
]
5361
},
5362
{
@@ -5364,7 +5376,7 @@
5376
"zh-chs": "您确定要{0}插件吗:{1}",
5377
"zh-cht": "你確定要{0}外掛嗎:{1}",
5378
"xloc": [
5367
- "default.handlebars->29->2109"
5379
+ "default.handlebars->29->2116"
5380
]
5381
},
5382
{
@@ -5384,7 +5396,7 @@
5396
"zh-chs": "亚美尼亚文",
5397
"zh-cht": "亞美尼亞文",
5398
"xloc": [
5387
- "default.handlebars->29->1051"
5399
+ "default.handlebars->29->1054"
5400
]
5401
},
5402
{
@@ -5444,7 +5456,7 @@
5456
"zh-chs": "阿萨姆文",
5457
"zh-cht": "阿薩姆文",
5458
"xloc": [
5447
- "default.handlebars->29->1052"
5459
+ "default.handlebars->29->1055"
5460
]
5461
},
5462
{
@@ -5464,7 +5476,7 @@
5476
"zh-chs": "阿斯图里亚斯文",
5477
"zh-cht": "阿斯圖里亞斯文",
5478
"xloc": [
5467
- "default.handlebars->29->1053"
5479
+ "default.handlebars->29->1056"
5480
]
5481
},
5482
{
@@ -5484,7 +5496,7 @@
5496
"zh-chs": "尝试激活英特尔(R)AMT ACM模式",
5497
"zh-cht": "嘗試激活英特爾(R)AMT ACM模式",
5498
"xloc": [
5487
- "default.handlebars->29->1588"
5499
+ "default.handlebars->29->1591"
5500
]
5501
},
5502
{
@@ -5504,7 +5516,7 @@
5516
"zh-chs": "认证软件",
5517
"zh-cht": "認證軟體",
5518
"xloc": [
5507
- "default.handlebars->29->1923"
5519
+ "default.handlebars->29->1928"
5520
]
5521
},
5522
{
@@ -5528,8 +5540,8 @@
5540
"default-mobile.handlebars->9->52",
5541
"default-mobile.handlebars->9->71",
5542
"default-mobile.handlebars->9->73",
5531
- "default.handlebars->29->1017",
5532
- "default.handlebars->29->1019",
5543
+ "default.handlebars->29->1020",
5544
+ "default.handlebars->29->1022",
5545
"default.handlebars->29->125",
5546
"default.handlebars->29->130"
5547
]
@@ -5611,7 +5623,7 @@
5623
"zh-chs": "自动删除",
5624
"zh-cht": "自動刪除",
5625
"xloc": [
5614
- "default.handlebars->29->1313"
5626
+ "default.handlebars->29->1316"
5627
]
5628
},
5629
{
@@ -5675,7 +5687,7 @@
5687
"zh-chs": "可用內存",
5688
"zh-cht": "可用內存",
5689
"xloc": [
5678
- "default.handlebars->29->2062"
5690
+ "default.handlebars->29->2069"
5691
]
5692
},
5693
{
@@ -5695,7 +5707,7 @@
5707
"zh-chs": "阿塞拜疆文",
5708
"zh-cht": "阿塞拜疆文",
5709
"xloc": [
5698
- "default.handlebars->29->1054"
5710
+ "default.handlebars->29->1057"
5711
]
5712
},
5713
{
@@ -5716,7 +5728,7 @@
5728
"zh-cht": "的BIOS",
5729
"xloc": [
5730
"default-mobile.handlebars->9->384",
5719
- "default.handlebars->29->970"
5731
+ "default.handlebars->29->973"
5732
]
5733
},
5734
{
@@ -5831,8 +5843,8 @@
5843
"zh-chs": "背景与互动",
5844
"zh-cht": "背景與互動",
5845
"xloc": [
5834
- "default.handlebars->29->1492",
5835
- "default.handlebars->29->1499",
5846
+ "default.handlebars->29->1495",
5847
+ "default.handlebars->29->1502",
5848
"default.handlebars->29->335",
5849
"default.handlebars->29->349"
5850
]
@@ -5854,8 +5866,8 @@
5866
"zh-chs": "仅背景",
5867
"zh-cht": "僅背景",
5868
"xloc": [
5857
- "default.handlebars->29->1493",
5858
- "default.handlebars->29->1500",
5869
+ "default.handlebars->29->1496",
5870
+ "default.handlebars->29->1503",
5871
"default.handlebars->29->336",
5872
"default.handlebars->29->350",
5873
"default.handlebars->29->364"
@@ -5898,7 +5910,7 @@
5910
"zh-chs": "备用码",
5911
"zh-cht": "備用碼",
5912
"xloc": [
5901
- "default.handlebars->29->1925"
5913
+ "default.handlebars->29->1930"
5914
]
5915
},
5916
{
@@ -5918,7 +5930,7 @@
5930
"zh-chs": "错误的签名",
5931
"zh-cht": "錯誤的簽名",
5932
"xloc": [
5921
- "default.handlebars->29->2044"
5933
+ "default.handlebars->29->2051"
5934
]
5935
},
5936
{
@@ -5938,7 +5950,7 @@
5950
"zh-chs": "错误的网络证书",
5951
"zh-cht": "錯誤的網絡憑證",
5952
"xloc": [
5941
- "default.handlebars->29->2043"
5953
+ "default.handlebars->29->2050"
5954
]
5955
},
5956
{
@@ -5958,7 +5970,7 @@
5970
"zh-chs": "巴斯克",
5971
"zh-cht": "巴斯克",
5972
"xloc": [
5961
- "default.handlebars->29->1055"
5973
+ "default.handlebars->29->1058"
5974
]
5975
},
5976
{
@@ -5998,7 +6010,7 @@
6010
"zh-chs": "白俄罗斯文",
6011
"zh-cht": "白俄羅斯文",
6012
"xloc": [
6001
- "default.handlebars->29->1057"
6013
+ "default.handlebars->29->1060"
6014
]
6015
},
6016
{
@@ -6018,7 +6030,7 @@
6030
"zh-chs": "孟加拉",
6031
"zh-cht": "孟加拉",
6032
"xloc": [
6021
- "default.handlebars->29->1058"
6033
+ "default.handlebars->29->1061"
6034
]
6035
},
6036
{
@@ -6061,7 +6073,7 @@
6073
"zh-chs": "波斯尼亚文",
6074
"zh-cht": "波斯尼亞文",
6075
"xloc": [
6064
- "default.handlebars->29->1059"
6076
+ "default.handlebars->29->1062"
6077
]
6078
},
6079
{
@@ -6081,7 +6093,7 @@
6093
"zh-chs": "布列塔尼",
6094
"zh-cht": "布列塔尼",
6095
"xloc": [
6084
- "default.handlebars->29->1060"
6096
+ "default.handlebars->29->1063"
6097
]
6098
},
6099
{
@@ -6101,7 +6113,7 @@
6113
"zh-chs": "广播",
6114
"zh-cht": "廣播",
6115
"xloc": [
6104
- "default.handlebars->29->1839",
6116
+ "default.handlebars->29->1844",
6117
"default.handlebars->container->column_l->p4->3->1->0->3->1"
6118
]
6119
},
@@ -6122,7 +6134,7 @@
6134
"zh-chs": "广播消息",
6135
"zh-cht": "廣播消息",
6136
"xloc": [
6125
- "default.handlebars->29->1760"
6137
+ "default.handlebars->29->1765"
6138
]
6139
},
6140
{
@@ -6142,7 +6154,7 @@
6154
"zh-chs": "向所有连接的用户广播消息。",
6155
"zh-cht": "向所有連接的用戶廣播消息。",
6156
"xloc": [
6145
- "default.handlebars->29->1755"
6157
+ "default.handlebars->29->1760"
6158
]
6159
},
6160
{
@@ -6162,7 +6174,7 @@
6174
"zh-chs": "保加利亚文",
6175
"zh-cht": "保加利亞文",
6176
"xloc": [
6165
- "default.handlebars->29->1056"
6177
+ "default.handlebars->29->1059"
6178
]
6179
},
6180
{
@@ -6182,7 +6194,7 @@
6194
"zh-chs": "缅甸文",
6195
"zh-cht": "緬甸文",
6196
"xloc": [
6185
- "default.handlebars->29->1061"
6197
+ "default.handlebars->29->1064"
6198
]
6199
},
6200
{
@@ -6245,7 +6257,7 @@
6257
"zh-chs": "CIRA服务器",
6258
"zh-cht": "CIRA伺服器",
6259
"xloc": [
6248
- "default.handlebars->29->2097"
6260
+ "default.handlebars->29->2104"
6261
]
6262
},
6263
{
@@ -6265,14 +6277,14 @@
6277
"zh-chs": "CIRA服务器命令",
6278
"zh-cht": "CIRA伺服器指令",
6279
"xloc": [
6268
- "default.handlebars->29->2098"
6280
+ "default.handlebars->29->2105"
6281
]
6282
},
6283
{
6284
"en": "CIRA setup",
6285
"nl": "CIRA setup",
6286
"xloc": [
6275
- "default.handlebars->29->1377"
6287
+ "default.handlebars->29->1380"
6288
]
6289
},
6290
{
@@ -6293,7 +6305,7 @@
6305
"zh-cht": "CPU",
6306
"xloc": [
6307
"default-mobile.handlebars->9->390",
6296
- "default.handlebars->29->976"
6308
+ "default.handlebars->29->979"
6309
]
6310
},
6311
{
@@ -6313,7 +6325,7 @@
6325
"zh-chs": "CPU负载",
6326
"zh-cht": "CPU負載",
6327
"xloc": [
6316
- "default.handlebars->29->2058"
6328
+ "default.handlebars->29->2065"
6329
]
6330
},
6331
{
@@ -6333,7 +6345,7 @@
6345
"zh-chs": "最近15分钟的CPU负载",
6346
"zh-cht": "最近15分鐘的CPU負載",
6347
"xloc": [
6336
- "default.handlebars->29->2061"
6348
+ "default.handlebars->29->2068"
6349
]
6350
},
6351
{
@@ -6353,7 +6365,7 @@
6365
"zh-chs": "最近5分钟的CPU负载",
6366
"zh-cht": "最近5分鐘的CPU負載",
6367
"xloc": [
6356
- "default.handlebars->29->2060"
6368
+ "default.handlebars->29->2067"
6369
]
6370
},
6371
{
@@ -6373,7 +6385,7 @@
6385
"zh-chs": "最近一分钟的CPU负载",
6386
"zh-cht": "最近一分鐘的CPU負載",
6387
"xloc": [
6376
- "default.handlebars->29->2059"
6388
+ "default.handlebars->29->2066"
6389
]
6390
},
6391
{
@@ -6393,8 +6405,8 @@
6405
"zh-chs": "CR+LF",
6406
"zh-cht": "CR+LF",
6407
"xloc": [
6396
- "default.handlebars->29->856",
6397
- "default.handlebars->29->865",
6408
+ "default.handlebars->29->859",
6409
+ "default.handlebars->29->868",
6410
"default.handlebars->container->column_l->p12->termTable->1->1->6->1->1->terminalSettingsButtons"
6411
]
6412
},
@@ -6415,7 +6427,7 @@
6427
"zh-chs": "CSV",
6428
"zh-cht": "CSV",
6429
"xloc": [
6418
- "default.handlebars->29->1678"
6430
+ "default.handlebars->29->1683"
6431
]
6432
},
6433
{
@@ -6435,8 +6447,8 @@
6447
"zh-chs": "CSV格式",
6448
"zh-cht": "CSV格式",
6449
"xloc": [
6438
- "default.handlebars->29->1682",
6439
- "default.handlebars->29->1747",
6450
+ "default.handlebars->29->1687",
6451
+ "default.handlebars->29->1752",
6452
"default.handlebars->29->474"
6453
]
6454
},
@@ -6457,7 +6469,7 @@
6469
"zh-chs": "呼叫错误",
6470
"zh-cht": "呼叫錯誤",
6471
"xloc": [
6460
- "default.handlebars->29->2110"
6472
+ "default.handlebars->29->2117"
6473
]
6474
},
6475
{
@@ -6479,7 +6491,7 @@
6491
"xloc": [
6492
"default-mobile.handlebars->9->82",
6493
"default-mobile.handlebars->dialog->idx_dlgButtonBar",
6482
- "default.handlebars->29->1291",
6494
+ "default.handlebars->29->1294",
6495
"default.handlebars->container->dialog->idx_dlgButtonBar",
6496
"desktop.handlebars->p11->dialog->idx_dlgButtonBar",
6497
"login-mobile.handlebars->dialog->idx_dlgButtonBar",
@@ -6509,9 +6521,9 @@
6521
"default-mobile.handlebars->9->395",
6522
"default-mobile.handlebars->9->400",
6523
"default-mobile.handlebars->9->402",
6512
- "default.handlebars->29->981",
6513
- "default.handlebars->29->986",
6514
- "default.handlebars->29->988"
6524
+ "default.handlebars->29->984",
6525
+ "default.handlebars->29->989",
6526
+ "default.handlebars->29->991"
6527
]
6528
},
6529
{
@@ -6532,7 +6544,7 @@
6544
"zh-cht": "容量/速度",
6545
"xloc": [
6546
"default-mobile.handlebars->9->393",
6535
- "default.handlebars->29->979"
6547
+ "default.handlebars->29->982"
6548
]
6549
},
6550
{
@@ -6552,7 +6564,7 @@
6564
"zh-chs": "加泰罗尼亚文",
6565
"zh-cht": "加泰羅尼亞文",
6566
"xloc": [
6555
- "default.handlebars->29->1062"
6567
+ "default.handlebars->29->1065"
6568
]
6569
},
6570
{
@@ -6592,7 +6604,7 @@
6604
"zh-chs": "查莫罗",
6605
"zh-cht": "查莫羅",
6606
"xloc": [
6595
- "default.handlebars->29->1063"
6607
+ "default.handlebars->29->1066"
6608
]
6609
},
6610
{
@@ -6634,7 +6646,7 @@
6646
"zh-chs": "更改{0}的电邮",
6647
"zh-cht": "更改{0}的電郵",
6648
"xloc": [
6637
- "default.handlebars->29->1953"
6649
+ "default.handlebars->29->1958"
6650
]
6651
},
6652
{
@@ -6655,8 +6667,8 @@
6667
"zh-cht": "更改群",
6668
"xloc": [
6669
"default.handlebars->29->619",
6658
- "default.handlebars->29->770",
6659
- "default.handlebars->29->771"
6670
+ "default.handlebars->29->773",
6671
+ "default.handlebars->29->774"
6672
]
6673
},
6674
{
@@ -6677,8 +6689,8 @@
6689
"zh-cht": "更改密碼",
6690
"xloc": [
6691
"default-mobile.handlebars->9->90",
6680
- "default.handlebars->29->1258",
6681
- "default.handlebars->29->1940"
6692
+ "default.handlebars->29->1261",
6693
+ "default.handlebars->29->1945"
6694
]
6695
},
6696
{
@@ -6698,7 +6710,7 @@
6710
"zh-chs": "更改{0}的密码",
6711
"zh-cht": "更改{0}的密碼",
6712
"xloc": [
6701
- "default.handlebars->29->1960"
6713
+ "default.handlebars->29->1965"
6714
]
6715
},
6716
{
@@ -6718,7 +6730,7 @@
6730
"zh-chs": "更改{0}的真实名称",
6731
"zh-cht": "更改{0}的真實名稱",
6732
"xloc": [
6721
- "default.handlebars->29->1948"
6733
+ "default.handlebars->29->1953"
6734
]
6735
},
6736
{
@@ -6800,7 +6812,7 @@
6812
"zh-chs": "更改该用户的密码",
6813
"zh-cht": "更改該用戶的密碼",
6814
"xloc": [
6803
- "default.handlebars->29->1939"
6815
+ "default.handlebars->29->1944"
6816
]
6817
},
6818
{
@@ -6840,7 +6852,7 @@
6852
"zh-chs": "在此处更改您的帐户电邮地址。",
6853
"zh-cht": "在此處更改你的帳戶電郵地址。",
6854
"xloc": [
6843
- "default.handlebars->29->1245"
6855
+ "default.handlebars->29->1248"
6856
]
6857
},
6858
{
@@ -6860,7 +6872,7 @@
6872
"zh-chs": "在下面的框中两次输入旧密码和新密码,以更改帐户密码。",
6873
"zh-cht": "在下面的框中兩次輸入舊密碼和新密碼,以更改帳戶密碼。",
6874
"xloc": [
6863
- "default.handlebars->29->1251"
6875
+ "default.handlebars->29->1254"
6876
]
6877
},
6878
{
@@ -6880,7 +6892,7 @@
6892
"zh-chs": "更改帐户凭据",
6893
"zh-cht": "帳戶憑證已更改",
6894
"xloc": [
6883
- "default.handlebars->29->1640"
6895
+ "default.handlebars->29->1643"
6896
]
6897
},
6898
{
@@ -6900,7 +6912,7 @@
6912
"zh-chs": "{1}组中的设备{0}已更改:{2}",
6913
"zh-cht": "{1}組中的設備{0}已更改:{2}",
6914
"xloc": [
6903
- "default.handlebars->29->1624"
6915
+ "default.handlebars->29->1627"
6916
]
6917
},
6918
{
@@ -6920,7 +6932,7 @@
6932
"zh-chs": "语言从{1}更改为{2}",
6933
"zh-cht": "語言從{1}更改為{2}",
6934
"xloc": [
6923
- "default.handlebars->29->1568"
6935
+ "default.handlebars->29->1571"
6936
]
6937
},
6938
{
@@ -6940,8 +6952,8 @@
6952
"zh-chs": "已更改{0}的用户设备权限",
6953
"zh-cht": "已更改{0}的用戶設備權限",
6954
"xloc": [
6943
- "default.handlebars->29->1626",
6944
- "default.handlebars->29->1647"
6955
+ "default.handlebars->29->1629",
6956
+ "default.handlebars->29->1650"
6957
]
6958
},
6959
{
@@ -6961,7 +6973,7 @@
6973
"zh-chs": "更改语言将需要刷新页面。",
6974
"zh-cht": "更改語言將需要刷新頁面。",
6975
"xloc": [
6964
- "default.handlebars->29->1230"
6976
+ "default.handlebars->29->1233"
6977
]
6978
},
6979
{
@@ -6981,9 +6993,9 @@
6993
"zh-chs": "聊天",
6994
"zh-cht": "聊天",
6995
"xloc": [
6984
- "default.handlebars->29->1699",
6985
- "default.handlebars->29->674",
6986
- "default.handlebars->29->695"
6996
+ "default.handlebars->29->1704",
6997
+ "default.handlebars->29->677",
6998
+ "default.handlebars->29->698"
6999
]
7000
},
7001
{
@@ -7005,8 +7017,8 @@
7017
"xloc": [
7018
"default-mobile.handlebars->9->439",
7019
"default-mobile.handlebars->9->459",
7008
- "default.handlebars->29->1438",
7009
- "default.handlebars->29->1474"
7020
+ "default.handlebars->29->1441",
7021
+ "default.handlebars->29->1477"
7022
]
7023
},
7024
{
@@ -7046,7 +7058,7 @@
7058
"zh-chs": "车臣",
7059
"zh-cht": "車臣",
7060
"xloc": [
7049
- "default.handlebars->29->1064"
7061
+ "default.handlebars->29->1067"
7062
]
7063
},
7064
{
@@ -7146,8 +7158,8 @@
7158
"zh-chs": "检查...",
7159
"zh-cht": "檢查...",
7160
"xloc": [
7149
- "default.handlebars->29->1030",
7150
- "default.handlebars->29->2104"
7161
+ "default.handlebars->29->1033",
7162
+ "default.handlebars->29->2111"
7163
]
7164
},
7165
{
@@ -7167,7 +7179,7 @@
7179
"zh-chs": "中文",
7180
"zh-cht": "中文",
7181
"xloc": [
7170
- "default.handlebars->29->1065"
7182
+ "default.handlebars->29->1068"
7183
]
7184
},
7185
{
@@ -7187,7 +7199,7 @@
7199
"zh-chs": "中文(香港)",
7200
"zh-cht": "中文(香港)",
7201
"xloc": [
7190
- "default.handlebars->29->1066"
7202
+ "default.handlebars->29->1069"
7203
]
7204
},
7205
{
@@ -7207,7 +7219,7 @@
7219
"zh-chs": "中文(中国)",
7220
"zh-cht": "中文(中國)",
7221
"xloc": [
7210
- "default.handlebars->29->1067"
7222
+ "default.handlebars->29->1070"
7223
]
7224
},
7225
{
@@ -7227,7 +7239,7 @@
7239
"zh-chs": "简体中文",
7240
"zh-cht": "簡體中文",
7241
"xloc": [
7230
- "default.handlebars->29->1227"
7242
+ "default.handlebars->29->1230"
7243
]
7244
},
7245
{
@@ -7247,7 +7259,7 @@
7259
"zh-chs": "中文(新加坡)",
7260
"zh-cht": "中文(新加坡)",
7261
"xloc": [
7250
- "default.handlebars->29->1068"
7262
+ "default.handlebars->29->1071"
7263
]
7264
},
7265
{
@@ -7267,7 +7279,7 @@
7279
"zh-chs": "中文(台湾)",
7280
"zh-cht": "中文(台灣)",
7281
"xloc": [
7270
- "default.handlebars->29->1069"
7282
+ "default.handlebars->29->1072"
7283
]
7284
},
7285
{
@@ -7287,7 +7299,7 @@
7299
"zh-chs": "繁体中文",
7300
"zh-cht": "繁體中文",
7301
"xloc": [
7290
- "default.handlebars->29->1228"
7302
+ "default.handlebars->29->1231"
7303
]
7304
},
7305
{
@@ -7328,7 +7340,7 @@
7340
"zh-chs": "楚瓦什",
7341
"zh-cht": "楚瓦什",
7342
"xloc": [
7331
- "default.handlebars->29->1070"
7343
+ "default.handlebars->29->1073"
7344
]
7345
},
7346
{
@@ -7371,11 +7383,11 @@
7383
"default-mobile.handlebars->9->330",
7384
"default-mobile.handlebars->9->332",
7385
"default-mobile.handlebars->9->59",
7374
- "default.handlebars->29->1562",
7375
- "default.handlebars->29->895",
7376
- "default.handlebars->29->897",
7377
- "default.handlebars->29->899",
7378
- "default.handlebars->29->901",
7386
+ "default.handlebars->29->1565",
7387
+ "default.handlebars->29->898",
7388
+ "default.handlebars->29->900",
7389
+ "default.handlebars->29->902",
7390
+ "default.handlebars->29->904",
7391
"default.handlebars->container->column_l->p15->consoleTable->1->6->1->1->1->0->7",
7392
"default.handlebars->container->column_l->p41->3->1",
7393
"messenger.handlebars->xbottom"
@@ -7418,7 +7430,7 @@
7430
"zh-chs": "全部清除",
7431
"zh-cht": "全部清除",
7432
"xloc": [
7421
- "default.handlebars->29->2031"
7433
+ "default.handlebars->29->2038"
7434
]
7435
},
7436
{
@@ -7446,7 +7458,7 @@
7458
"zh-chs": "清除核心",
7459
"zh-cht": "清除核心",
7460
"xloc": [
7449
- "default.handlebars->29->1002"
7461
+ "default.handlebars->29->1005"
7462
]
7463
},
7464
{
@@ -7486,7 +7498,7 @@
7498
"zh-chs": "清除此通知",
7499
"zh-cht": "清除此通知",
7500
"xloc": [
7489
- "default.handlebars->29->2030"
7501
+ "default.handlebars->29->2037"
7502
]
7503
},
7504
{
@@ -7546,8 +7558,8 @@
7558
"zh-chs": "单击此处编辑设备组名称",
7559
"zh-cht": "單擊此處編輯裝置群名稱",
7560
"xloc": [
7549
- "default.handlebars->29->1302",
7550
- "default.handlebars->29->1513"
7561
+ "default.handlebars->29->1305",
7562
+ "default.handlebars->29->1516"
7563
]
7564
},
7565
{
@@ -7587,7 +7599,7 @@
7599
"zh-chs": "单击此处编辑用户组名称",
7600
"zh-cht": "單擊此處編輯用戶群名稱",
7601
"xloc": [
7590
- "default.handlebars->29->1816"
7602
+ "default.handlebars->29->1821"
7603
]
7604
},
7605
{
@@ -7648,7 +7660,7 @@
7660
"zh-cht": "單擊確定將驗證電郵發送到:",
7661
"xloc": [
7662
"default-mobile.handlebars->9->75",
7651
- "default.handlebars->29->1242"
7663
+ "default.handlebars->29->1245"
7664
]
7665
},
7666
{
@@ -7689,7 +7701,7 @@
7701
"zh-cht": "客戶端控制模式(CCM)",
7702
"xloc": [
7703
"default-mobile.handlebars->9->371",
7692
- "default.handlebars->29->957"
7704
+ "default.handlebars->29->960"
7705
]
7706
},
7707
{
@@ -7709,7 +7721,7 @@
7721
"zh-chs": "客户编号",
7722
"zh-cht": "客戶編號",
7723
"xloc": [
7712
- "default.handlebars->29->1284"
7724
+ "default.handlebars->29->1287"
7725
]
7726
},
7727
{
@@ -7729,7 +7741,7 @@
7741
"zh-chs": "客户端启动的远程访问",
7742
"zh-cht": "客戶端啟動的遠程訪問",
7743
"xloc": [
7732
- "default.handlebars->29->1376"
7744
+ "default.handlebars->29->1379"
7745
]
7746
},
7747
{
@@ -7749,7 +7761,7 @@
7761
"zh-chs": "客户机密",
7762
"zh-cht": "客戶機密",
7763
"xloc": [
7752
- "default.handlebars->29->1285"
7764
+ "default.handlebars->29->1288"
7765
]
7766
},
7767
{
@@ -7793,7 +7805,7 @@
7805
"default-mobile.handlebars->9->57",
7806
"default.handlebars->29->137",
7807
"default.handlebars->29->145",
7796
- "default.handlebars->29->847"
7808
+ "default.handlebars->29->850"
7809
]
7810
},
7811
{
@@ -7813,7 +7825,7 @@
7825
"zh-chs": "封闭式桌面多路复用会话,{0}秒",
7826
"zh-cht": "封閉式桌面多路復用會話,{0}秒",
7827
"xloc": [
7816
- "default.handlebars->29->1573"
7828
+ "default.handlebars->29->1576"
7829
]
7830
},
7831
{
@@ -7897,9 +7909,9 @@
7909
"nl": "Opdrachten",
7910
"xloc": [
7911
"default-mobile.handlebars->9->461",
7900
- "default.handlebars->29->1476",
7901
- "default.handlebars->29->676",
7902
- "default.handlebars->29->697"
7912
+ "default.handlebars->29->1479",
7913
+ "default.handlebars->29->679",
7914
+ "default.handlebars->29->700"
7915
]
7916
},
7917
{
@@ -7919,8 +7931,8 @@
7931
"zh-chs": "通用设备组",
7932
"zh-cht": "通用裝置群",
7933
"xloc": [
7922
- "default.handlebars->29->1847",
7923
- "default.handlebars->29->1965"
7934
+ "default.handlebars->29->1852",
7935
+ "default.handlebars->29->1970"
7936
]
7937
},
7938
{
@@ -7940,8 +7952,8 @@
7952
"zh-chs": "通用设备",
7953
"zh-cht": "通用裝置",
7954
"xloc": [
7943
- "default.handlebars->29->1853",
7944
- "default.handlebars->29->1977"
7955
+ "default.handlebars->29->1858",
7956
+ "default.handlebars->29->1982"
7957
]
7958
},
7959
{
@@ -7961,7 +7973,7 @@
7973
"zh-chs": "压缩档案...",
7974
"zh-cht": "壓縮檔案...",
7975
"xloc": [
7964
- "default.handlebars->29->872"
7976
+ "default.handlebars->29->875"
7977
]
7978
},
7979
{
@@ -7982,7 +7994,7 @@
7994
"zh-cht": "將{1}入口{2}中的{0}限製到此位置?",
7995
"xloc": [
7996
"default-mobile.handlebars->9->127",
7985
- "default.handlebars->29->1557"
7997
+ "default.handlebars->29->1560"
7998
]
7999
},
8000
{
@@ -8004,14 +8016,14 @@
8016
"xloc": [
8017
"default-mobile.handlebars->9->288",
8018
"default-mobile.handlebars->9->419",
8007
- "default.handlebars->29->1387",
8008
- "default.handlebars->29->1727",
8009
- "default.handlebars->29->1806",
8010
- "default.handlebars->29->1867",
8011
- "default.handlebars->29->1963",
8019
+ "default.handlebars->29->1390",
8020
+ "default.handlebars->29->1732",
8021
+ "default.handlebars->29->1811",
8022
+ "default.handlebars->29->1872",
8023
+ "default.handlebars->29->1968",
8024
"default.handlebars->29->450",
8013
- "default.handlebars->29->765",
8014
- "default.handlebars->29->774"
8025
+ "default.handlebars->29->768",
8026
+ "default.handlebars->29->777"
8027
]
8028
},
8029
{
@@ -8032,7 +8044,7 @@
8044
"zh-cht": "確認將1個副本複製到此位置?",
8045
"xloc": [
8046
"default-mobile.handlebars->9->321",
8035
- "default.handlebars->29->890"
8047
+ "default.handlebars->29->893"
8048
]
8049
},
8050
{
@@ -8052,7 +8064,7 @@
8064
"zh-chs": "确认{0}个条目的复制到此位置?",
8065
"zh-cht": "確認{0}個條目的複製到此位置?",
8066
"xloc": [
8055
- "default.handlebars->29->889"
8067
+ "default.handlebars->29->892"
8068
]
8069
},
8070
{
@@ -8092,7 +8104,7 @@
8104
"zh-chs": "确认删除选定的帐户?",
8105
"zh-cht": "確認刪除所選帳戶?",
8106
"xloc": [
8095
- "default.handlebars->29->1726"
8107
+ "default.handlebars->29->1731"
8108
]
8109
},
8110
{
@@ -8132,7 +8144,7 @@
8144
"zh-chs": "确认删除选定的用户组?",
8145
"zh-cht": "確認刪除所選用戶群?",
8146
"xloc": [
8135
- "default.handlebars->29->1805"
8147
+ "default.handlebars->29->1810"
8148
]
8149
},
8150
{
@@ -8152,7 +8164,7 @@
8164
"zh-chs": "确认删除用户{0}?",
8165
"zh-cht": "確認刪除用戶{0}?",
8166
"xloc": [
8155
- "default.handlebars->29->1962"
8167
+ "default.handlebars->29->1967"
8168
]
8169
},
8170
{
@@ -8172,7 +8184,7 @@
8184
"zh-chs": "确认删除用户“ {0} ”的成员身份?",
8185
"zh-cht": "確認刪除用戶“ {0} ”的成員身份?",
8186
"xloc": [
8175
- "default.handlebars->29->1870"
8187
+ "default.handlebars->29->1875"
8188
]
8189
},
8190
{
@@ -8192,7 +8204,7 @@
8204
"zh-chs": "确认删除用户组“ {0} ”的成员身份?",
8205
"zh-cht": "確認刪除用戶群“ {0} ”的成員身份?",
8206
"xloc": [
8195
- "default.handlebars->29->1992"
8207
+ "default.handlebars->29->1999"
8208
]
8209
},
8210
{
@@ -8213,7 +8225,7 @@
8225
"zh-cht": "確認將1個條目移動到此位置?",
8226
"xloc": [
8227
"default-mobile.handlebars->9->323",
8216
- "default.handlebars->29->892"
8228
+ "default.handlebars->29->895"
8229
]
8230
},
8231
{
@@ -8233,7 +8245,7 @@
8245
"zh-chs": "确认将{0}个条目移到此位置?",
8246
"zh-cht": "確認將{0}個條目移到該位置?",
8247
"xloc": [
8236
- "default.handlebars->29->891"
8248
+ "default.handlebars->29->894"
8249
]
8250
},
8251
{
@@ -8273,7 +8285,7 @@
8285
"zh-chs": "确认覆盖?",
8286
"zh-cht": "確認覆蓋?",
8287
"xloc": [
8276
- "default.handlebars->29->1556"
8288
+ "default.handlebars->29->1559"
8289
]
8290
},
8291
{
@@ -8293,8 +8305,8 @@
8305
"zh-chs": "确认删除设备“ {0} ”的访问权限?",
8306
"zh-cht": "確認刪除裝置“ {0} ”的訪問權限?",
8307
"xloc": [
8296
- "default.handlebars->29->1860",
8297
- "default.handlebars->29->1983"
8308
+ "default.handlebars->29->1865",
8309
+ "default.handlebars->29->1990"
8310
]
8311
},
8312
{
@@ -8314,8 +8326,8 @@
8326
"zh-chs": "确认删除设备组“ {0} ”的访问权限?",
8327
"zh-cht": "確認刪除裝置群“ {0} ”的訪問權限?",
8328
"xloc": [
8317
- "default.handlebars->29->1862",
8318
- "default.handlebars->29->1996"
8329
+ "default.handlebars->29->1867",
8330
+ "default.handlebars->29->2003"
8331
]
8332
},
8333
{
@@ -8335,7 +8347,7 @@
8347
"zh-chs": "确认删除用户“ {0} ”的访问权限?",
8348
"zh-cht": "確認刪除用戶“ {0} ”的訪問權限?",
8349
"xloc": [
8338
- "default.handlebars->29->1985"
8350
+ "default.handlebars->29->1992"
8351
]
8352
},
8353
{
@@ -8355,7 +8367,7 @@
8367
"zh-chs": "确认删除用户组“ {0} ”的访问权限?",
8368
"zh-cht": "確認刪除用戶群“ {0} ”的訪問權限?",
8369
"xloc": [
8358
- "default.handlebars->29->1988"
8370
+ "default.handlebars->29->1995"
8371
]
8372
},
8373
{
@@ -8375,8 +8387,8 @@
8387
"zh-chs": "确认删除访问权限?",
8388
"zh-cht": "確認刪除訪問權限?",
8389
"xloc": [
8378
- "default.handlebars->29->1986",
8379
- "default.handlebars->29->1989"
8390
+ "default.handlebars->29->1993",
8391
+ "default.handlebars->29->1996"
8392
]
8393
},
8394
{
@@ -8397,7 +8409,7 @@
8409
"zh-cht": "確認刪除身份驗證軟體兩步登入?",
8410
"xloc": [
8411
"default-mobile.handlebars->9->74",
8400
- "default.handlebars->29->1020"
8412
+ "default.handlebars->29->1023"
8413
]
8414
},
8415
{
@@ -8417,6 +8429,12 @@
8429
"zh-chs": "确认删除设备组{0}?",
8430
"zh-cht": "確認刪除裝置群{0}?"
8431
},
8432
+ {
8433
+ "en": "Confirm removal of device share \\\"{0}\\\"?",
8434
+ "xloc": [
8435
+ "default.handlebars->29->1988"
8436
+ ]
8437
+ },
8438
{
8439
"cs": "Potvrdit odebrání zařízení {0}?",
8440
"de": "Entfernen des Geräts {0} bestätigen?",
@@ -8468,7 +8486,7 @@
8486
"zh-chs": "确认删除用户“ {0} ”的权限?",
8487
"zh-cht": "確認刪除用戶“ {0} ”的權限?",
8488
"xloc": [
8471
- "default.handlebars->29->1485"
8489
+ "default.handlebars->29->1488"
8490
]
8491
},
8492
{
@@ -8488,7 +8506,7 @@
8506
"zh-chs": "确认删除用户组“ {0} ”的权限?",
8507
"zh-cht": "確認刪除用戶群“ {0} ”的權限?",
8508
"xloc": [
8491
- "default.handlebars->29->1487"
8509
+ "default.handlebars->29->1490"
8510
]
8511
},
8512
{
@@ -8548,8 +8566,8 @@
8566
"default-mobile.handlebars->9->303",
8567
"default-mobile.handlebars->container->page_content->column_l->p10->p10desktop->deskarea1->1->3",
8568
"default-mobile.handlebars->container->page_content->column_l->p10->p10files->p13toolbar->1->0->1->3",
8551
- "default.handlebars->29->1330",
8552
- "default.handlebars->29->868",
8569
+ "default.handlebars->29->1333",
8570
+ "default.handlebars->29->871",
8571
"default.handlebars->container->column_l->p11->deskarea0->deskarea1->3->connectbutton1span",
8572
"default.handlebars->container->column_l->p12->termTable->1->1->0->1->3->connectbutton2span",
8573
"default.handlebars->container->column_l->p13->p13toolbar->1->0->1->3",
@@ -8596,7 +8614,7 @@
8614
"zh-chs": "连接到服务器",
8615
"zh-cht": "連接到伺服器",
8616
"xloc": [
8599
- "default.handlebars->29->1380"
8617
+ "default.handlebars->29->1383"
8618
]
8619
},
8620
{
@@ -8717,7 +8735,7 @@
8735
"zh-chs": "已连接的英特尔®AMT",
8736
"zh-cht": "已連接的Intel® AMT",
8737
"xloc": [
8720
- "default.handlebars->29->2049"
8738
+ "default.handlebars->29->2056"
8739
]
8740
},
8741
{
@@ -8737,7 +8755,7 @@
8755
"zh-chs": "已连接的用户",
8756
"zh-cht": "已连接的用户",
8757
"xloc": [
8740
- "default.handlebars->29->2054"
8758
+ "default.handlebars->29->2061"
8759
]
8760
},
8761
{
@@ -8758,7 +8776,7 @@
8776
"zh-cht": "現在已連接",
8777
"xloc": [
8778
"default-mobile.handlebars->9->346",
8761
- "default.handlebars->29->922"
8779
+ "default.handlebars->29->925"
8780
]
8781
},
8782
{
@@ -8805,7 +8823,7 @@
8823
"default.handlebars->29->246",
8824
"default.handlebars->29->273",
8825
"default.handlebars->29->9",
8808
- "default.handlebars->29->913",
8826
+ "default.handlebars->29->916",
8827
"desktop.handlebars->3->2",
8828
"xterm.handlebars->9->2"
8829
]
@@ -8827,7 +8845,7 @@
8845
"zh-chs": "连接数量",
8846
"zh-cht": "連接數量",
8847
"xloc": [
8830
- "default.handlebars->29->2068"
8848
+ "default.handlebars->29->2075"
8849
]
8850
},
8851
{
@@ -8847,7 +8865,7 @@
8865
"zh-chs": "连接转发器",
8866
"zh-cht": "連接轉發器",
8867
"xloc": [
8850
- "default.handlebars->29->2096"
8868
+ "default.handlebars->29->2103"
8869
]
8870
},
8871
{
@@ -8908,7 +8926,7 @@
8926
"zh-cht": "連接性",
8927
"xloc": [
8928
"default-mobile.handlebars->9->255",
8911
- "default.handlebars->29->1520",
8929
+ "default.handlebars->29->1523",
8930
"default.handlebars->29->234",
8931
"default.handlebars->29->606",
8932
"default.handlebars->container->column_l->p21->3->1->meshConnChartDiv->1"
@@ -8931,8 +8949,8 @@
8949
"zh-chs": "控制台",
8950
"zh-cht": "控制台",
8951
"xloc": [
8934
- "default.handlebars->29->669",
8935
- "default.handlebars->29->690",
8952
+ "default.handlebars->29->672",
8953
+ "default.handlebars->29->693",
8954
"default.handlebars->container->topbar->1->1->MainSubMenuSpan->MainSubMenu->1->0->MainDevConsole",
8955
"default.handlebars->container->topbar->1->1->ServerSubMenuSpan->ServerSubMenu->1->0->ServerConsole",
8956
"default.handlebars->contextMenu->cxconsole"
@@ -8975,8 +8993,8 @@
8993
"zh-chs": "控制",
8994
"zh-cht": "控制",
8995
"xloc": [
8978
- "default.handlebars->29->668",
8979
- "default.handlebars->29->689",
8996
+ "default.handlebars->29->671",
8997
+ "default.handlebars->29->692",
8998
"messenger.handlebars->13->1"
8999
]
9000
},
@@ -8997,7 +9015,7 @@
9015
"zh-chs": "Cookie编码器",
9016
"zh-cht": "Cookie編碼器",
9017
"xloc": [
9000
- "default.handlebars->29->2082"
9018
+ "default.handlebars->29->2089"
9019
]
9020
},
9021
{
@@ -9154,8 +9172,8 @@
9172
"zh-chs": "复制连结到剪贴板",
9173
"zh-cht": "複製連結到剪貼板",
9174
"xloc": [
9157
- "default.handlebars->29->1525",
9158
- "default.handlebars->29->1544",
9175
+ "default.handlebars->29->1528",
9176
+ "default.handlebars->29->1547",
9177
"default.handlebars->29->195",
9178
"default.handlebars->29->352"
9179
]
@@ -9258,7 +9276,7 @@
9276
"zh-chs": "复制:“{0}”到“{1}”",
9277
"zh-cht": "複製:“{0}”到“{1}”",
9278
"xloc": [
9261
- "default.handlebars->29->1616"
9279
+ "default.handlebars->29->1619"
9280
]
9281
},
9282
{
@@ -9404,7 +9422,7 @@
9422
"zh-chs": "核心服务器",
9423
"zh-cht": "核心伺服器",
9424
"xloc": [
9407
- "default.handlebars->29->2081"
9425
+ "default.handlebars->29->2088"
9426
]
9427
},
9428
{
@@ -9424,7 +9442,7 @@
9442
"zh-chs": "科西嘉文",
9443
"zh-cht": "科西嘉文",
9444
"xloc": [
9427
- "default.handlebars->29->1071"
9445
+ "default.handlebars->29->1074"
9446
]
9447
},
9448
{
@@ -9444,7 +9462,7 @@
9462
"zh-chs": "创建帐号",
9463
"zh-cht": "創建帳號",
9464
"xloc": [
9447
- "default.handlebars->29->1774",
9465
+ "default.handlebars->29->1779",
9466
"login-mobile.handlebars->container->page_content->column_l->1->1->0->1->createpanel->1->1->9->1->12->1->1",
9467
"login.handlebars->container->column_l->centralTable->1->0->logincell->createpanel->1->9->1->12->1->1",
9468
"login2.handlebars->centralTable->1->0->logincell->createpanel->1->9->1->12->1->1"
@@ -9487,7 +9505,7 @@
9505
"zh-chs": "创建用户组",
9506
"zh-cht": "創建用戶群",
9507
"xloc": [
9490
- "default.handlebars->29->1813"
9508
+ "default.handlebars->29->1818"
9509
]
9510
},
9511
{
@@ -9527,7 +9545,7 @@
9545
"zh-chs": "使用以下选项创建一个新的设备组。",
9546
"zh-cht": "使用以下選項創建一個新的裝置群。",
9547
"xloc": [
9530
- "default.handlebars->29->1265"
9548
+ "default.handlebars->29->1268"
9549
]
9550
},
9551
{
@@ -9567,7 +9585,7 @@
9585
"zh-chs": "创建文件夹:“{0}”",
9586
"zh-cht": "創建文件夾:“{0}”",
9587
"xloc": [
9570
- "default.handlebars->29->1609"
9588
+ "default.handlebars->29->1612"
9589
]
9590
},
9591
{
@@ -9587,7 +9605,7 @@
9605
"zh-chs": "通过导入以下格式的JSON档案一次创建多个帐户:",
9606
"zh-cht": "通過導入以下格式的JSON檔案一次創建多個帳戶:",
9607
"xloc": [
9590
- "default.handlebars->29->1738"
9608
+ "default.handlebars->29->1743"
9609
]
9610
},
9611
{
@@ -9629,7 +9647,7 @@
9647
"zh-chs": "创建的设备组:{0}",
9648
"zh-cht": "創建的設備組:{0}",
9649
"xloc": [
9632
- "default.handlebars->29->1620"
9650
+ "default.handlebars->29->1623"
9651
]
9652
},
9653
{
@@ -9649,7 +9667,7 @@
9667
"zh-chs": "创建一个连结,该连结允许没有帐户的访客将远程桌面访问此设备最多1小时。",
9668
"zh-cht": "創建一個鏈結,該鏈結允許沒有帳戶的訪客將遠程桌面訪問此裝置最多1小時。",
9669
"xloc": [
9652
- "default.handlebars->29->708"
9670
+ "default.handlebars->29->711"
9671
]
9672
},
9673
{
@@ -9669,7 +9687,7 @@
9687
"zh-chs": "创建",
9688
"zh-cht": "創建",
9689
"xloc": [
9672
- "default.handlebars->29->1899"
9690
+ "default.handlebars->29->1904"
9691
]
9692
},
9693
{
@@ -9689,7 +9707,7 @@
9707
"zh-chs": "创建时间",
9708
"zh-cht": "創作時間",
9709
"xloc": [
9692
- "default.handlebars->29->1312"
9710
+ "default.handlebars->29->1315"
9711
]
9712
},
9713
{
@@ -9731,8 +9749,8 @@
9749
"zh-chs": "创建者",
9750
"zh-cht": "創作者",
9751
"xloc": [
9734
- "default.handlebars->29->1310",
9735
- "default.handlebars->29->1311"
9752
+ "default.handlebars->29->1313",
9753
+ "default.handlebars->29->1314"
9754
]
9755
},
9756
{
@@ -9752,7 +9770,7 @@
9770
"zh-chs": "证书",
9771
"zh-cht": "證書",
9772
"xloc": [
9755
- "default.handlebars->29->1282"
9773
+ "default.handlebars->29->1285"
9774
]
9775
},
9776
{
@@ -9772,7 +9790,7 @@
9790
"zh-chs": "克里语",
9791
"zh-cht": "克里語",
9792
"xloc": [
9775
- "default.handlebars->29->1072"
9793
+ "default.handlebars->29->1075"
9794
]
9795
},
9796
{
@@ -9792,7 +9810,7 @@
9810
"zh-chs": "克罗地亚文",
9811
"zh-cht": "克羅地亞文",
9812
"xloc": [
9795
- "default.handlebars->29->1073"
9813
+ "default.handlebars->29->1076"
9814
]
9815
},
9816
{
@@ -9959,7 +9977,7 @@
9977
"zh-chs": "捷克文",
9978
"zh-cht": "捷克文",
9979
"xloc": [
9962
- "default.handlebars->29->1074"
9980
+ "default.handlebars->29->1077"
9981
]
9982
},
9983
{
@@ -9999,7 +10017,7 @@
10017
"zh-chs": "丹麦文",
10018
"zh-cht": "丹麥文",
10019
"xloc": [
10002
- "default.handlebars->29->1075"
10020
+ "default.handlebars->29->1078"
10021
]
10022
},
10023
{
@@ -10019,7 +10037,7 @@
10037
"zh-chs": "数据通道",
10038
"zh-cht": "數據通道",
10039
"xloc": [
10022
- "default.handlebars->29->817",
10040
+ "default.handlebars->29->820",
10041
"desktop.handlebars->3->12"
10042
]
10043
},
@@ -10040,7 +10058,7 @@
10058
"zh-chs": "日期和时间",
10059
"zh-cht": "日期和時間",
10060
"xloc": [
10043
- "default.handlebars->29->1233"
10061
+ "default.handlebars->29->1236"
10062
]
10063
},
10064
{
@@ -10061,14 +10079,14 @@
10079
"zh-cht": "天",
10080
"xloc": [
10081
"default-mobile.handlebars->9->278",
10064
- "default.handlebars->29->749"
10082
+ "default.handlebars->29->752"
10083
]
10084
},
10085
{
10086
"en": "Deactivate",
10087
"nl": "Deactiveren",
10088
"xloc": [
10071
- "default.handlebars->29->1363"
10089
+ "default.handlebars->29->1366"
10090
]
10091
},
10092
{
@@ -10126,10 +10144,10 @@
10144
"zh-chs": "默认",
10145
"zh-cht": "默認",
10146
"xloc": [
10129
- "default.handlebars->29->1761",
10130
- "default.handlebars->29->1809",
10131
- "default.handlebars->29->1820",
10132
- "default.handlebars->29->1888"
10147
+ "default.handlebars->29->1766",
10148
+ "default.handlebars->29->1814",
10149
+ "default.handlebars->29->1825",
10150
+ "default.handlebars->29->1893"
10151
]
10152
},
10153
{
@@ -10153,9 +10171,9 @@
10171
"default-mobile.handlebars->9->313",
10172
"default-mobile.handlebars->container->page_content->column_l->p10->p10files->p13toolbar->1->2->1->1",
10173
"default-mobile.handlebars->container->page_content->column_l->p5->p5myfiles->p5toolbar->1->0->1->1",
10156
- "default.handlebars->29->1551",
10174
+ "default.handlebars->29->1554",
10175
"default.handlebars->29->507",
10158
- "default.handlebars->29->881",
10176
+ "default.handlebars->29->884",
10177
"default.handlebars->container->column_l->p13->p13toolbar->1->2->1->3",
10178
"default.handlebars->container->column_l->p5->p5toolbar->1->0->p5filehead->3",
10179
"default.handlebars->container->dialog->idx_dlgButtonBar->5",
@@ -10183,7 +10201,7 @@
10201
"zh-cht": "刪除帳戶",
10202
"xloc": [
10203
"default-mobile.handlebars->9->84",
10186
- "default.handlebars->29->1250"
10204
+ "default.handlebars->29->1253"
10205
]
10206
},
10207
{
@@ -10203,7 +10221,7 @@
10221
"zh-chs": "删除帐户",
10222
"zh-cht": "刪除帳戶",
10223
"xloc": [
10206
- "default.handlebars->29->1728"
10224
+ "default.handlebars->29->1733"
10225
]
10226
},
10227
{
@@ -10246,8 +10264,8 @@
10264
"xloc": [
10265
"default-mobile.handlebars->9->417",
10266
"default-mobile.handlebars->9->420",
10249
- "default.handlebars->29->1359",
10250
- "default.handlebars->29->1388"
10267
+ "default.handlebars->29->1362",
10268
+ "default.handlebars->29->1391"
10269
]
10270
},
10271
{
@@ -10268,7 +10286,7 @@
10286
"zh-cht": "刪除節點",
10287
"xloc": [
10288
"default-mobile.handlebars->9->286",
10271
- "default.handlebars->29->775"
10289
+ "default.handlebars->29->778"
10290
]
10291
},
10292
{
@@ -10308,7 +10326,7 @@
10326
"zh-chs": "删除用户",
10327
"zh-cht": "刪除用戶",
10328
"xloc": [
10311
- "default.handlebars->29->1938"
10329
+ "default.handlebars->29->1943"
10330
]
10331
},
10332
{
@@ -10328,8 +10346,8 @@
10346
"zh-chs": "删除用户群组",
10347
"zh-cht": "刪除用戶群組",
10348
"xloc": [
10331
- "default.handlebars->29->1858",
10332
- "default.handlebars->29->1868"
10349
+ "default.handlebars->29->1863",
10350
+ "default.handlebars->29->1873"
10351
]
10352
},
10353
{
@@ -10349,7 +10367,7 @@
10367
"zh-chs": "删除用户群组",
10368
"zh-cht": "刪除用戶群組",
10369
"xloc": [
10352
- "default.handlebars->29->1807"
10370
+ "default.handlebars->29->1812"
10371
]
10372
},
10373
{
@@ -10369,7 +10387,7 @@
10387
"zh-chs": "删除用户{0}",
10388
"zh-cht": "刪除用戶{0}",
10389
"xloc": [
10372
- "default.handlebars->29->1961"
10390
+ "default.handlebars->29->1966"
10391
]
10392
},
10393
{
@@ -10390,7 +10408,7 @@
10408
"zh-cht": "刪除帳戶",
10409
"xloc": [
10410
"default-mobile.handlebars->container->page_content->column_l->p3->p3info->1->p3AccountActions->p2AccountActions->3->9->0",
10393
- "default.handlebars->29->1724",
10411
+ "default.handlebars->29->1729",
10412
"default.handlebars->container->column_l->p2->p2info->p2AccountActions->3->p2AccountPassActions->7"
10413
]
10414
},
@@ -10431,7 +10449,7 @@
10449
"zh-chs": "删除群组",
10450
"zh-cht": "刪除群組",
10451
"xloc": [
10434
- "default.handlebars->29->1803"
10452
+ "default.handlebars->29->1808"
10453
]
10454
},
10455
{
@@ -10471,7 +10489,7 @@
10489
"zh-chs": "递归删除:“{0}”,{1}个元素已删除",
10490
"zh-cht": "遞歸刪除:“{0}”,{1}個元素已刪除",
10491
"xloc": [
10474
- "default.handlebars->29->1611"
10492
+ "default.handlebars->29->1614"
10493
]
10494
},
10495
{
@@ -10493,8 +10511,8 @@
10511
"xloc": [
10512
"default-mobile.handlebars->9->124",
10513
"default-mobile.handlebars->9->315",
10496
- "default.handlebars->29->1553",
10497
- "default.handlebars->29->883"
10514
+ "default.handlebars->29->1556",
10515
+ "default.handlebars->29->886"
10516
]
10517
},
10518
{
@@ -10514,7 +10532,7 @@
10532
"zh-chs": "删除用户群组{0}?",
10533
"zh-cht": "刪除用戶群組{0}?",
10534
"xloc": [
10517
- "default.handlebars->29->1866"
10535
+ "default.handlebars->29->1871"
10536
]
10537
},
10538
{
@@ -10536,8 +10554,8 @@
10554
"xloc": [
10555
"default-mobile.handlebars->9->123",
10556
"default-mobile.handlebars->9->314",
10539
- "default.handlebars->29->1552",
10540
- "default.handlebars->29->882"
10557
+ "default.handlebars->29->1555",
10558
+ "default.handlebars->29->885"
10559
]
10560
},
10561
{
@@ -10577,7 +10595,7 @@
10595
"zh-chs": "删除:“{0}”",
10596
"zh-cht": "刪除:“{0}”",
10597
"xloc": [
10580
- "default.handlebars->29->1610"
10598
+ "default.handlebars->29->1613"
10599
]
10600
},
10601
{
@@ -10597,7 +10615,7 @@
10615
"zh-chs": "删除:“{0}”,{1}个元素已删除",
10616
"zh-cht": "刪除:“{0}”,已刪除{1}個元素",
10617
"xloc": [
10600
- "default.handlebars->29->1612"
10618
+ "default.handlebars->29->1615"
10619
]
10620
},
10621
{
@@ -10617,7 +10635,7 @@
10635
"zh-chs": "被拒绝",
10636
"zh-cht": "被拒絕",
10637
"xloc": [
10620
- "default.handlebars->29->813",
10638
+ "default.handlebars->29->816",
10639
"desktop.handlebars->3->8"
10640
]
10641
},
@@ -10714,19 +10732,19 @@
10732
"default-mobile.handlebars->9->352",
10733
"default-mobile.handlebars->9->409",
10734
"default-mobile.handlebars->9->422",
10717
- "default.handlebars->29->1270",
10718
- "default.handlebars->29->1307",
10719
- "default.handlebars->29->1390",
10720
- "default.handlebars->29->1812",
10721
- "default.handlebars->29->1822",
10722
- "default.handlebars->29->1823",
10723
- "default.handlebars->29->1864",
10735
+ "default.handlebars->29->1273",
10736
+ "default.handlebars->29->1310",
10737
+ "default.handlebars->29->1393",
10738
+ "default.handlebars->29->1817",
10739
+ "default.handlebars->29->1827",
10740
+ "default.handlebars->29->1828",
10741
+ "default.handlebars->29->1869",
10742
"default.handlebars->29->548",
10743
"default.handlebars->29->549",
10744
"default.handlebars->29->77",
10727
- "default.handlebars->29->808",
10728
- "default.handlebars->29->928",
10729
- "default.handlebars->29->938",
10745
+ "default.handlebars->29->811",
10746
+ "default.handlebars->29->931",
10747
+ "default.handlebars->29->941",
10748
"default.handlebars->container->column_l->p42->p42tbl->1->0->3"
10749
]
10750
},
@@ -10765,10 +10783,10 @@
10783
"zh-cht": "桌面",
10784
"xloc": [
10785
"default-mobile.handlebars->9->267",
10768
- "default.handlebars->29->1396",
10769
- "default.handlebars->29->2008",
10786
+ "default.handlebars->29->1399",
10787
+ "default.handlebars->29->2015",
10788
"default.handlebars->29->513",
10771
- "default.handlebars->29->853",
10789
+ "default.handlebars->29->856",
10790
"default.handlebars->container->topbar->1->1->MainSubMenuSpan->MainSubMenu->1->0->MainDevDesktop",
10791
"default.handlebars->contextMenu->cxdesktop",
10792
"desktop.handlebars->3->24"
@@ -10811,9 +10829,9 @@
10829
"zh-chs": "桌面通知",
10830
"zh-cht": "桌面通知",
10831
"xloc": [
10814
- "default.handlebars->29->1321",
10815
- "default.handlebars->29->1827",
10816
- "default.handlebars->29->1914",
10832
+ "default.handlebars->29->1324",
10833
+ "default.handlebars->29->1832",
10834
+ "default.handlebars->29->1919",
10835
"default.handlebars->29->587"
10836
]
10837
},
@@ -10834,9 +10852,9 @@
10852
"zh-chs": "桌面提示",
10853
"zh-cht": "桌面提示",
10854
"xloc": [
10837
- "default.handlebars->29->1320",
10838
- "default.handlebars->29->1826",
10839
- "default.handlebars->29->1913",
10855
+ "default.handlebars->29->1323",
10856
+ "default.handlebars->29->1831",
10857
+ "default.handlebars->29->1918",
10858
"default.handlebars->29->586"
10859
]
10860
},
@@ -10857,9 +10875,9 @@
10875
"zh-chs": "桌面提示+工具栏",
10876
"zh-cht": "桌面提示+工具欄",
10877
"xloc": [
10860
- "default.handlebars->29->1318",
10861
- "default.handlebars->29->1824",
10862
- "default.handlebars->29->1911",
10878
+ "default.handlebars->29->1321",
10879
+ "default.handlebars->29->1829",
10880
+ "default.handlebars->29->1916",
10881
"default.handlebars->29->584"
10882
]
10883
},
@@ -10901,9 +10919,9 @@
10919
"zh-chs": "桌面工具栏",
10920
"zh-cht": "桌面工具欄",
10921
"xloc": [
10904
- "default.handlebars->29->1319",
10905
- "default.handlebars->29->1825",
10906
- "default.handlebars->29->1912",
10922
+ "default.handlebars->29->1322",
10923
+ "default.handlebars->29->1830",
10924
+ "default.handlebars->29->1917",
10925
"default.handlebars->29->585"
10926
]
10927
},
@@ -10924,7 +10942,7 @@
10942
"zh-chs": "桌面时段",
10943
"zh-cht": "桌面時段",
10944
"xloc": [
10927
- "default.handlebars->29->852"
10945
+ "default.handlebars->29->855"
10946
]
10947
},
10948
{
@@ -11007,9 +11025,9 @@
11025
"zh-chs": "设备",
11026
"zh-cht": "裝置",
11027
"xloc": [
11010
- "default.handlebars->29->1419",
11028
+ "default.handlebars->29->1422",
11029
"default.handlebars->29->186",
11012
- "default.handlebars->29->1980",
11030
+ "default.handlebars->29->1985",
11031
"default.handlebars->container->column_l->p1->devListToolbarSpan->1->0->9->devListToolbarSort->sortselect->5"
11032
]
11033
},
@@ -11031,7 +11049,7 @@
11049
"zh-cht": "裝置指令",
11050
"xloc": [
11051
"default-mobile.handlebars->9->277",
11034
- "default.handlebars->29->740"
11052
+ "default.handlebars->29->743"
11053
]
11054
},
11055
{
@@ -11058,14 +11076,14 @@
11076
"zh-chs": "设备组",
11077
"zh-cht": "裝置群",
11078
"xloc": [
11061
- "default.handlebars->29->1414",
11079
"default.handlebars->29->1417",
11063
- "default.handlebars->29->1418",
11064
- "default.handlebars->29->1675",
11065
- "default.handlebars->29->1850",
11066
- "default.handlebars->29->1856",
11067
- "default.handlebars->29->1968",
11068
- "default.handlebars->29->2017"
11080
+ "default.handlebars->29->1420",
11081
+ "default.handlebars->29->1421",
11082
+ "default.handlebars->29->1680",
11083
+ "default.handlebars->29->1855",
11084
+ "default.handlebars->29->1861",
11085
+ "default.handlebars->29->1973",
11086
+ "default.handlebars->29->2024"
11087
]
11088
},
11089
{
@@ -11086,7 +11104,7 @@
11104
"zh-cht": "裝置群用戶",
11105
"xloc": [
11106
"default-mobile.handlebars->9->468",
11089
- "default.handlebars->29->1483"
11107
+ "default.handlebars->29->1486"
11108
]
11109
},
11110
{
@@ -11107,11 +11125,11 @@
11125
"zh-cht": "裝置群",
11126
"xloc": [
11127
"default-mobile.handlebars->container->page_content->column_l->p3->p3info->1->3",
11110
- "default.handlebars->29->1691",
11111
- "default.handlebars->29->1797",
11112
- "default.handlebars->29->1837",
11113
- "default.handlebars->29->1908",
11114
- "default.handlebars->29->2052",
11128
+ "default.handlebars->29->1696",
11129
+ "default.handlebars->29->1802",
11130
+ "default.handlebars->29->1842",
11131
+ "default.handlebars->29->1913",
11132
+ "default.handlebars->29->2059",
11133
"default.handlebars->container->column_l->p2->p2info->7"
11134
]
11135
},
@@ -11152,7 +11170,7 @@
11170
"zh-chs": "设备位置",
11171
"zh-cht": "裝置位置",
11172
"xloc": [
11155
- "default.handlebars->29->776"
11173
+ "default.handlebars->29->779"
11174
]
11175
},
11176
{
@@ -11172,7 +11190,7 @@
11190
"zh-chs": "设备消息",
11191
"zh-cht": "裝置訊息",
11192
"xloc": [
11175
- "default.handlebars->29->705"
11193
+ "default.handlebars->29->708"
11194
]
11195
},
11196
{
@@ -11193,9 +11211,9 @@
11211
"zh-cht": "裝置名稱",
11212
"xloc": [
11213
"default-mobile.handlebars->9->290",
11196
- "default.handlebars->29->2016",
11214
+ "default.handlebars->29->2023",
11215
"default.handlebars->29->287",
11198
- "default.handlebars->29->806",
11216
+ "default.handlebars->29->809",
11217
"player.handlebars->3->9"
11218
]
11219
},
@@ -11217,7 +11235,13 @@
11235
"zh-cht": "裝置通知",
11236
"xloc": [
11237
"default.handlebars->29->472",
11220
- "default.handlebars->29->707"
11238
+ "default.handlebars->29->710"
11239
+ ]
11240
+ },
11241
+ {
11242
+ "en": "Device Sharing Link",
11243
+ "xloc": [
11244
+ "default.handlebars->29->662"
11245
]
11246
},
11247
{
@@ -11257,8 +11281,8 @@
11281
"zh-chs": "设备连接。",
11282
"zh-cht": "裝置連接。",
11283
"xloc": [
11260
- "default.handlebars->29->1238",
11261
- "default.handlebars->29->1504"
11284
+ "default.handlebars->29->1241",
11285
+ "default.handlebars->29->1507"
11286
]
11287
},
11288
{
@@ -11278,8 +11302,8 @@
11302
"zh-chs": "设备断开连接。",
11303
"zh-cht": "裝置斷開連接。",
11304
"xloc": [
11281
- "default.handlebars->29->1239",
11282
- "default.handlebars->29->1505"
11305
+ "default.handlebars->29->1242",
11306
+ "default.handlebars->29->1508"
11307
]
11308
},
11309
{
@@ -11299,7 +11323,7 @@
11323
"zh-chs": "创建的设备组:{0}",
11324
"zh-cht": "設備組已創建:{0}",
11325
"xloc": [
11302
- "default.handlebars->29->1641"
11326
+ "default.handlebars->29->1644"
11327
]
11328
},
11329
{
@@ -11319,7 +11343,7 @@
11343
"zh-chs": "设备组已删除:{0}",
11344
"zh-cht": "設備組已刪除:{0}",
11345
"xloc": [
11322
- "default.handlebars->29->1642"
11346
+ "default.handlebars->29->1645"
11347
]
11348
},
11349
{
@@ -11339,7 +11363,7 @@
11363
"zh-chs": "设备组成员身份已更改:{0}",
11364
"zh-cht": "設備組成員身份已更改:{0}",
11365
"xloc": [
11342
- "default.handlebars->29->1643"
11366
+ "default.handlebars->29->1646"
11367
]
11368
},
11369
{
@@ -11359,7 +11383,7 @@
11383
"zh-chs": "其他设备组管理员可以查看和更改设备组注释。",
11384
"zh-cht": "其他裝置群管理員可以查看和更改裝置群註釋。",
11385
"xloc": [
11362
- "default.handlebars->29->702"
11386
+ "default.handlebars->29->705"
11387
]
11388
},
11389
{
@@ -11379,7 +11403,7 @@
11403
"zh-chs": "设备组通知已更改",
11404
"zh-cht": "設備組通知已更改",
11405
"xloc": [
11382
- "default.handlebars->29->1638"
11406
+ "default.handlebars->29->1641"
11407
]
11408
},
11409
{
@@ -11399,7 +11423,7 @@
11423
"zh-chs": "未删除的设备组:{0}",
11424
"zh-cht": "未刪除的設備組:{0}",
11425
"xloc": [
11402
- "default.handlebars->29->1621"
11426
+ "default.handlebars->29->1624"
11427
]
11428
},
11429
{
@@ -11792,7 +11816,7 @@
11816
"zh-chs": "设备请求激活Intel(R)AMT ACM,FQDN:{0}",
11817
"zh-cht": "設備請求激活Intel(R)AMT ACM,FQDN:{0}",
11818
"xloc": [
11795
- "default.handlebars->29->1623"
11819
+ "default.handlebars->29->1626"
11820
]
11821
},
11822
{
@@ -11829,8 +11853,8 @@
11853
"zh-chs": "设备",
11854
"zh-cht": "裝置",
11855
"xloc": [
11832
- "default.handlebars->29->1798",
11833
- "default.handlebars->29->1838"
11856
+ "default.handlebars->29->1803",
11857
+ "default.handlebars->29->1843"
11858
]
11859
},
11860
{
@@ -11870,7 +11894,7 @@
11894
"zh-chs": "禁用的电子邮件两因素身份验证",
11895
"zh-cht": "禁用的電子郵件兩因素身份驗證",
11896
"xloc": [
11873
- "default.handlebars->29->1654"
11897
+ "default.handlebars->29->1657"
11898
]
11899
},
11900
{
@@ -11892,8 +11916,8 @@
11916
"xloc": [
11917
"default-mobile.handlebars->9->304",
11918
"default-mobile.handlebars->container->page_content->column_l->p10->p10desktop->deskarea1->1->3",
11895
- "default.handlebars->29->1331",
11896
- "default.handlebars->29->869",
11919
+ "default.handlebars->29->1334",
11920
+ "default.handlebars->29->872",
11921
"default.handlebars->container->column_l->p11->deskarea0->deskarea1->3->disconnectbutton1span",
11922
"default.handlebars->container->column_l->p12->termTable->1->1->0->1->3->disconnectbutton2span",
11923
"desktop.handlebars->p11->deskarea0->deskarea1->3->disconnectbutton1span",
@@ -11970,7 +11994,7 @@
11994
"zh-chs": "在远程设备上显示一个消息框。",
11995
"zh-cht": "在遠程裝置上顯示一個訊息框。",
11996
"xloc": [
11973
- "default.handlebars->29->706"
11997
+ "default.handlebars->29->709"
11998
]
11999
},
12000
{
@@ -12030,7 +12054,7 @@
12054
"zh-chs": "显示设备组名称",
12055
"zh-cht": "顯示裝置群名稱",
12056
"xloc": [
12033
- "default.handlebars->29->1237"
12057
+ "default.handlebars->29->1240"
12058
]
12059
},
12060
{
@@ -12050,7 +12074,7 @@
12074
"zh-chs": "显示名称",
12075
"zh-cht": "顯示名稱",
12076
"xloc": [
12053
- "default.handlebars->29->838"
12077
+ "default.handlebars->29->841"
12078
]
12079
},
12080
{
@@ -12070,7 +12094,7 @@
12094
"zh-chs": "显示公共连结",
12095
"zh-cht": "顯示公共鏈結",
12096
"xloc": [
12073
- "default.handlebars->29->1524"
12097
+ "default.handlebars->29->1527"
12098
]
12099
},
12100
{
@@ -12090,7 +12114,7 @@
12114
"zh-chs": "显示消息框,标题= “{0}”,消息= “{1}”",
12115
"zh-cht": "顯示消息框,標題= “{0}”,消息= “{1}”",
12116
"xloc": [
12093
- "default.handlebars->29->1583"
12117
+ "default.handlebars->29->1586"
12118
]
12119
},
12120
{
@@ -12110,7 +12134,7 @@
12134
"zh-chs": "显示吐司消息,标题= “{0}”,消息= “{1}”",
12135
"zh-cht": "顯示吐司消息,標題= “{0}”,消息= “{1}”",
12136
"xloc": [
12113
- "default.handlebars->29->1591"
12137
+ "default.handlebars->29->1594"
12138
]
12139
},
12140
{
@@ -12130,8 +12154,8 @@
12154
"zh-chs": "什么都不做",
12155
"zh-cht": "什麼都不做",
12156
"xloc": [
12133
- "default.handlebars->29->1374",
12134
- "default.handlebars->29->1378"
12157
+ "default.handlebars->29->1377",
12158
+ "default.handlebars->29->1381"
12159
]
12160
},
12161
{
@@ -12151,10 +12175,10 @@
12175
"zh-chs": "域",
12176
"zh-cht": "域",
12177
"xloc": [
12154
- "default.handlebars->29->1762",
12155
- "default.handlebars->29->1810",
12156
- "default.handlebars->29->1819",
12157
- "default.handlebars->29->1887",
12178
+ "default.handlebars->29->1767",
12179
+ "default.handlebars->29->1815",
12180
+ "default.handlebars->29->1824",
12181
+ "default.handlebars->29->1892",
12182
"mstsc.handlebars->main->1->3->1->2->1->0",
12183
"mstsc.handlebars->main->1->3->1->2->3"
12184
]
@@ -12193,7 +12217,7 @@
12217
"zh-chs": "不要连接到服务器",
12218
"zh-cht": "不要連接到伺服器",
12219
"xloc": [
12196
- "default.handlebars->29->1379"
12220
+ "default.handlebars->29->1382"
12221
]
12222
},
12223
{
@@ -12313,7 +12337,7 @@
12337
"zh-cht": "下載檔案",
12338
"xloc": [
12339
"default-mobile.handlebars->9->334",
12316
- "default.handlebars->29->902"
12340
+ "default.handlebars->29->905"
12341
]
12342
},
12343
{
@@ -12353,7 +12377,7 @@
12377
"zh-chs": "下载MeshCmd",
12378
"zh-cht": "下載MeshCmd",
12379
"xloc": [
12356
- "default.handlebars->29->798"
12380
+ "default.handlebars->29->801"
12381
]
12382
},
12383
{
@@ -12413,7 +12437,7 @@
12437
"zh-chs": "下载报告",
12438
"zh-cht": "下載報告",
12439
"xloc": [
12416
- "default.handlebars->29->1680",
12440
+ "default.handlebars->29->1685",
12441
"default.handlebars->container->column_l->p3->3->1->0->3"
12442
]
12443
},
@@ -12434,7 +12458,7 @@
12458
"zh-chs": "下载带有指令档案的“ meshcmd”,以通过此服务器将网络讯息发送到该设备。紧记编辑meshaction.txt并添加您的帐户密码或进行任何必要的更改。",
12459
"zh-cht": "下載帶有指令檔案的“ meshcmd”,以通過此服務器將網絡讯息發送到該裝置。緊記編輯meshaction.txt並新增你的帳戶密碼或進行任何必要的更改。",
12460
"xloc": [
12437
- "default.handlebars->29->791"
12461
+ "default.handlebars->29->794"
12462
]
12463
},
12464
{
@@ -12514,7 +12538,7 @@
12538
"zh-chs": "下载电源事件",
12539
"zh-cht": "下載電源事件",
12540
"xloc": [
12517
- "default.handlebars->29->750"
12541
+ "default.handlebars->29->753"
12542
]
12543
},
12544
{
@@ -12614,7 +12638,7 @@
12638
"zh-chs": "使用以下一种档案格式下载事件列表。",
12639
"zh-cht": "使用以下一種檔案格式下載事件列表。",
12640
"xloc": [
12617
- "default.handlebars->29->1681"
12641
+ "default.handlebars->29->1686"
12642
]
12643
},
12644
{
@@ -12634,7 +12658,7 @@
12658
"zh-chs": "使用以下一种档案格式下载用户列表。",
12659
"zh-cht": "使用以下一種檔案格式下載用戶列表。",
12660
"xloc": [
12637
- "default.handlebars->29->1746"
12661
+ "default.handlebars->29->1751"
12662
]
12663
},
12664
{
@@ -12715,7 +12739,7 @@
12739
"zh-chs": "下载:“{0}”",
12740
"zh-cht": "下載:“{0}”",
12741
"xloc": [
12718
- "default.handlebars->29->1614"
12742
+ "default.handlebars->29->1617"
12743
]
12744
},
12745
{
@@ -12755,7 +12779,7 @@
12779
"zh-chs": "代理重复",
12780
"zh-cht": "代理重複",
12781
"xloc": [
12758
- "default.handlebars->29->2048"
12782
+ "default.handlebars->29->2055"
12783
]
12784
},
12785
{
@@ -12795,7 +12819,7 @@
12819
"zh-chs": "复制用户组",
12820
"zh-cht": "複製用戶群",
12821
"xloc": [
12798
- "default.handlebars->29->1814"
12822
+ "default.handlebars->29->1819"
12823
]
12824
},
12825
{
@@ -12832,8 +12856,8 @@
12856
"zh-chs": "持续时间",
12857
"zh-cht": "持續時間",
12858
"xloc": [
12835
- "default.handlebars->29->2002",
12836
- "default.handlebars->29->2022",
12859
+ "default.handlebars->29->2009",
12860
+ "default.handlebars->29->2029",
12861
"player.handlebars->3->2"
12862
]
12863
},
@@ -12871,7 +12895,7 @@
12895
"zh-chs": "荷兰文(比利时)",
12896
"zh-cht": "荷蘭文(比利時)",
12897
"xloc": [
12874
- "default.handlebars->29->1077"
12898
+ "default.handlebars->29->1080"
12899
]
12900
},
12901
{
@@ -12891,7 +12915,7 @@
12915
"zh-chs": "荷兰文(标准)",
12916
"zh-cht": "荷蘭文(標準)",
12917
"xloc": [
12894
- "default.handlebars->29->1076"
12918
+ "default.handlebars->29->1079"
12919
]
12920
},
12921
{
@@ -13162,7 +13186,7 @@
13186
"zh-cht": "編輯裝置",
13187
"xloc": [
13188
"default-mobile.handlebars->9->295",
13165
- "default.handlebars->29->811"
13189
+ "default.handlebars->29->814"
13190
]
13191
},
13192
{
@@ -13185,10 +13209,10 @@
13209
"default-mobile.handlebars->9->423",
13210
"default-mobile.handlebars->9->425",
13211
"default-mobile.handlebars->9->445",
13188
- "default.handlebars->29->1391",
13189
- "default.handlebars->29->1423",
13190
- "default.handlebars->29->1447",
13191
- "default.handlebars->29->1459"
13212
+ "default.handlebars->29->1394",
13213
+ "default.handlebars->29->1426",
13214
+ "default.handlebars->29->1450",
13215
+ "default.handlebars->29->1462"
13216
]
13217
},
13218
{
@@ -13208,7 +13232,7 @@
13232
"zh-chs": "编辑设备组功能",
13233
"zh-cht": "編輯裝置群功能",
13234
"xloc": [
13211
- "default.handlebars->29->1409"
13235
+ "default.handlebars->29->1412"
13236
]
13237
},
13238
{
@@ -13228,8 +13252,8 @@
13252
"zh-chs": "编辑设备组权限",
13253
"zh-cht": "編輯裝置群權限",
13254
"xloc": [
13231
- "default.handlebars->29->1444",
13232
- "default.handlebars->29->1456"
13255
+ "default.handlebars->29->1447",
13256
+ "default.handlebars->29->1459"
13257
]
13258
},
13259
{
@@ -13249,7 +13273,7 @@
13273
"zh-chs": "编辑设备组用户同意",
13274
"zh-cht": "編輯裝置群用戶同意",
13275
"xloc": [
13252
- "default.handlebars->29->1392"
13276
+ "default.handlebars->29->1395"
13277
]
13278
},
13279
{
@@ -13270,7 +13294,7 @@
13294
"zh-cht": "編輯裝置筆記",
13295
"xloc": [
13296
"default-mobile.handlebars->9->437",
13273
- "default.handlebars->29->1436"
13297
+ "default.handlebars->29->1439"
13298
]
13299
},
13300
{
@@ -13290,8 +13314,8 @@
13314
"zh-chs": "编辑设备权限",
13315
"zh-cht": "編輯裝置權限",
13316
"xloc": [
13293
- "default.handlebars->29->1449",
13294
- "default.handlebars->29->1451"
13317
+ "default.handlebars->29->1452",
13318
+ "default.handlebars->29->1454"
13319
]
13320
},
13321
{
@@ -13331,7 +13355,7 @@
13355
"zh-chs": "编辑设备用户同意",
13356
"zh-cht": "編輯裝置用戶同意",
13357
"xloc": [
13334
- "default.handlebars->29->1394"
13358
+ "default.handlebars->29->1397"
13359
]
13360
},
13361
{
@@ -13351,7 +13375,7 @@
13375
"zh-chs": "编辑群组",
13376
"zh-cht": "編輯群組",
13377
"xloc": [
13354
- "default.handlebars->29->680"
13378
+ "default.handlebars->29->683"
13379
]
13380
},
13381
{
@@ -13378,7 +13402,7 @@
13402
"default.handlebars->29->563",
13403
"default.handlebars->29->566",
13404
"default.handlebars->29->569",
13381
- "default.handlebars->29->757"
13405
+ "default.handlebars->29->760"
13406
]
13407
},
13408
{
@@ -13399,7 +13423,7 @@
13423
"zh-cht": "編輯筆記",
13424
"xloc": [
13425
"default-mobile.handlebars->9->452",
13402
- "default.handlebars->29->1466"
13426
+ "default.handlebars->29->1469"
13427
]
13428
},
13429
{
@@ -13419,7 +13443,7 @@
13443
"zh-chs": "编辑用户同意",
13444
"zh-cht": "編輯用戶同意",
13445
"xloc": [
13422
- "default.handlebars->29->1393"
13446
+ "default.handlebars->29->1396"
13447
]
13448
},
13449
{
@@ -13439,7 +13463,7 @@
13463
"zh-chs": "编辑用户设备组权限",
13464
"zh-cht": "編輯用戶裝置群權限",
13465
"xloc": [
13442
- "default.handlebars->29->1457"
13466
+ "default.handlebars->29->1460"
13467
]
13468
},
13469
{
@@ -13459,7 +13483,7 @@
13483
"zh-chs": "编辑用户设备权限",
13484
"zh-cht": "編輯用戶裝置權限",
13485
"xloc": [
13462
- "default.handlebars->29->1452"
13486
+ "default.handlebars->29->1455"
13487
]
13488
},
13489
{
@@ -13479,7 +13503,7 @@
13503
"zh-chs": "编辑用户组",
13504
"zh-cht": "編輯用戶群",
13505
"xloc": [
13482
- "default.handlebars->29->1865"
13506
+ "default.handlebars->29->1870"
13507
]
13508
},
13509
{
@@ -13499,14 +13523,14 @@
13523
"zh-chs": "编辑用户组设备权限",
13524
"zh-cht": "編輯用戶群裝置權限",
13525
"xloc": [
13502
- "default.handlebars->29->1454"
13526
+ "default.handlebars->29->1457"
13527
]
13528
},
13529
{
13530
"en": "Edit User Group User Consent",
13531
"nl": "Bewerk groepsgebruikerstoestemming",
13532
"xloc": [
13509
- "default.handlebars->29->1395"
13533
+ "default.handlebars->29->1398"
13534
]
13535
},
13536
{
@@ -13568,11 +13592,11 @@
13592
"zh-cht": "電郵",
13593
"xloc": [
13594
"default-mobile.handlebars->9->78",
13571
- "default.handlebars->29->1764",
13572
- "default.handlebars->29->1891",
13573
- "default.handlebars->29->1893",
13574
- "default.handlebars->29->1933",
13575
- "default.handlebars->29->1949",
13595
+ "default.handlebars->29->1769",
13596
+ "default.handlebars->29->1896",
13597
+ "default.handlebars->29->1898",
13598
+ "default.handlebars->29->1938",
13599
+ "default.handlebars->29->1954",
13600
"default.handlebars->29->319",
13601
"login-mobile.handlebars->5->42",
13602
"login-mobile.handlebars->container->page_content->column_l->1->1->0->1->tokenpanel->1->7->1->4->1->3",
@@ -13605,7 +13629,7 @@
13629
"zh-cht": "電郵地址變更",
13630
"xloc": [
13631
"default-mobile.handlebars->9->79",
13608
- "default.handlebars->29->1246"
13632
+ "default.handlebars->29->1249"
13633
]
13634
},
13635
{
@@ -13626,7 +13650,7 @@
13650
"zh-cht": "電郵認證",
13651
"xloc": [
13652
"default-mobile.handlebars->9->68",
13629
- "default.handlebars->29->1014"
13653
+ "default.handlebars->29->1017"
13654
]
13655
},
13656
{
@@ -13686,7 +13710,7 @@
13710
"zh-cht": "電郵驗證",
13711
"xloc": [
13712
"default-mobile.handlebars->9->77",
13689
- "default.handlebars->29->1244"
13713
+ "default.handlebars->29->1247"
13714
]
13715
},
13716
{
@@ -13726,7 +13750,7 @@
13750
"zh-chs": "电邮未验证",
13751
"zh-cht": "電郵未驗證",
13752
"xloc": [
13729
- "default.handlebars->29->1710"
13753
+ "default.handlebars->29->1715"
13754
]
13755
},
13756
{
@@ -13746,8 +13770,8 @@
13770
"zh-chs": "电邮已验证",
13771
"zh-cht": "電郵已驗證",
13772
"xloc": [
13749
- "default.handlebars->29->1711",
13750
- "default.handlebars->29->1885"
13773
+ "default.handlebars->29->1716",
13774
+ "default.handlebars->29->1890"
13775
]
13776
},
13777
{
@@ -13767,7 +13791,7 @@
13791
"zh-chs": "电邮已验证。",
13792
"zh-cht": "電郵已驗證。",
13793
"xloc": [
13770
- "default.handlebars->29->1770"
13794
+ "default.handlebars->29->1775"
13795
]
13796
},
13797
{
@@ -13787,7 +13811,7 @@
13811
"zh-chs": "电邮未验证",
13812
"zh-cht": "電郵未驗證",
13813
"xloc": [
13790
- "default.handlebars->29->1886"
13814
+ "default.handlebars->29->1891"
13815
]
13816
},
13817
{
@@ -13851,7 +13875,7 @@
13875
"zh-chs": "已通过电邮验证,并且需要重置密码。",
13876
"zh-cht": "已通過電郵驗證,並且需要重置密碼。",
13877
"xloc": [
13854
- "default.handlebars->29->1771"
13878
+ "default.handlebars->29->1776"
13879
]
13880
},
13881
{
@@ -13871,7 +13895,7 @@
13895
"zh-chs": "电邮/短信流量",
13896
"zh-cht": "電郵/短信流量",
13897
"xloc": [
13874
- "default.handlebars->29->2090"
13898
+ "default.handlebars->29->2097"
13899
]
13900
},
13901
{
@@ -13917,7 +13941,7 @@
13941
"zh-chs": "启用邀请代码",
13942
"zh-cht": "啟用邀請代碼",
13943
"xloc": [
13920
- "default.handlebars->29->1489"
13944
+ "default.handlebars->29->1492"
13945
]
13946
},
13947
{
@@ -13958,7 +13982,7 @@
13982
"zh-cht": "啟用電郵二因子鑑別。",
13983
"xloc": [
13984
"default-mobile.handlebars->9->70",
13961
- "default.handlebars->29->1016"
13985
+ "default.handlebars->29->1019"
13986
]
13987
},
13988
{
@@ -13998,7 +14022,7 @@
14022
"zh-chs": "已启用",
14023
"zh-cht": "已啟用",
14024
"xloc": [
14001
- "default.handlebars->29->2024"
14025
+ "default.handlebars->29->2031"
14026
]
14027
},
14028
{
@@ -14018,7 +14042,7 @@
14042
"zh-chs": "启用电子邮件两因素身份验证",
14043
"zh-cht": "啟用電子郵件兩因素身份驗證",
14044
"xloc": [
14021
- "default.handlebars->29->1653"
14045
+ "default.handlebars->29->1656"
14046
]
14047
},
14048
{
@@ -14058,7 +14082,7 @@
14082
"zh-chs": "时间结束",
14083
"zh-cht": "時間結束",
14084
"xloc": [
14061
- "default.handlebars->29->2021"
14085
+ "default.handlebars->29->2028"
14086
]
14087
},
14088
{
@@ -14078,7 +14102,7 @@
14102
"zh-chs": "从{1}到{2},{3}秒结束了桌面会话“{0}”",
14103
"zh-cht": "從{1}到{2},{3}秒結束了桌面會話“{0}”",
14104
"xloc": [
14081
- "default.handlebars->29->1576"
14105
+ "default.handlebars->29->1579"
14106
]
14107
},
14108
{
@@ -14098,7 +14122,7 @@
14122
"zh-chs": "从{1}到{2},{3}秒结束了文件管理会话“{0}”",
14123
"zh-cht": "從{1}到{2},{3}秒結束了文件管理會話“{0}”",
14124
"xloc": [
14101
- "default.handlebars->29->1577"
14125
+ "default.handlebars->29->1580"
14126
]
14127
},
14128
{
@@ -14118,7 +14142,7 @@
14142
"zh-chs": "从{1}到{2},{3}秒结束了中继会话“{0}”",
14143
"zh-cht": "從{1}到{2},{3}秒結束了中繼會話“{0}”",
14144
"xloc": [
14121
- "default.handlebars->29->1574"
14145
+ "default.handlebars->29->1577"
14146
]
14147
},
14148
{
@@ -14138,7 +14162,7 @@
14162
"zh-chs": "从{1}到{2},{3}秒结束了终端会话“{0}”",
14163
"zh-cht": "從{1}到{2},{3}秒結束了終端會話“{0}”",
14164
"xloc": [
14141
- "default.handlebars->29->1575"
14165
+ "default.handlebars->29->1578"
14166
]
14167
},
14168
{
@@ -14158,7 +14182,7 @@
14182
"zh-chs": "英文",
14183
"zh-cht": "英文",
14184
"xloc": [
14161
- "default.handlebars->29->1078"
14185
+ "default.handlebars->29->1081"
14186
]
14187
},
14188
{
@@ -14178,7 +14202,7 @@
14202
"zh-chs": "英文(澳洲)",
14203
"zh-cht": "英文(澳洲)",
14204
"xloc": [
14181
- "default.handlebars->29->1079"
14205
+ "default.handlebars->29->1082"
14206
]
14207
},
14208
{
@@ -14198,7 +14222,7 @@
14222
"zh-chs": "英文(伯利茲)",
14223
"zh-cht": "英文(伯利茲)",
14224
"xloc": [
14201
- "default.handlebars->29->1080"
14225
+ "default.handlebars->29->1083"
14226
]
14227
},
14228
{
@@ -14218,7 +14242,7 @@
14242
"zh-chs": "英文(加拿大)",
14243
"zh-cht": "英文(加拿大)",
14244
"xloc": [
14221
- "default.handlebars->29->1081"
14245
+ "default.handlebars->29->1084"
14246
]
14247
},
14248
{
@@ -14238,7 +14262,7 @@
14262
"zh-chs": "英文(爱尔兰)",
14263
"zh-cht": "英文(愛爾蘭)",
14264
"xloc": [
14241
- "default.handlebars->29->1082"
14265
+ "default.handlebars->29->1085"
14266
]
14267
},
14268
{
@@ -14258,7 +14282,7 @@
14282
"zh-chs": "英文(牙买加)",
14283
"zh-cht": "英文(牙買加)",
14284
"xloc": [
14261
- "default.handlebars->29->1083"
14285
+ "default.handlebars->29->1086"
14286
]
14287
},
14288
{
@@ -14278,7 +14302,7 @@
14302
"zh-chs": "英文(纽西兰)",
14303
"zh-cht": "英文(紐西蘭)",
14304
"xloc": [
14281
- "default.handlebars->29->1084"
14305
+ "default.handlebars->29->1087"
14306
]
14307
},
14308
{
@@ -14298,7 +14322,7 @@
14322
"zh-chs": "英文(菲律宾)",
14323
"zh-cht": "英文(菲律賓)",
14324
"xloc": [
14301
- "default.handlebars->29->1085"
14325
+ "default.handlebars->29->1088"
14326
]
14327
},
14328
{
@@ -14318,7 +14342,7 @@
14342
"zh-chs": "英语(南非)",
14343
"zh-cht": "英語(南非)",
14344
"xloc": [
14321
- "default.handlebars->29->1086"
14345
+ "default.handlebars->29->1089"
14346
]
14347
},
14348
{
@@ -14338,7 +14362,7 @@
14362
"zh-chs": "英文(特立尼达和多巴哥)",
14363
"zh-cht": "英文(特立尼達和多巴哥)",
14364
"xloc": [
14341
- "default.handlebars->29->1087"
14365
+ "default.handlebars->29->1090"
14366
]
14367
},
14368
{
@@ -14358,7 +14382,7 @@
14382
"zh-chs": "英文(英国)",
14383
"zh-cht": "英文(英國)",
14384
"xloc": [
14361
- "default.handlebars->29->1088"
14385
+ "default.handlebars->29->1091"
14386
]
14387
},
14388
{
@@ -14378,7 +14402,7 @@
14402
"zh-chs": "美国英文",
14403
"zh-cht": "美國英語",
14404
"xloc": [
14381
- "default.handlebars->29->1089"
14405
+ "default.handlebars->29->1092"
14406
]
14407
},
14408
{
@@ -14398,7 +14422,7 @@
14422
"zh-chs": "英文(津巴布韦)",
14423
"zh-cht": "英文(津巴布韋)",
14424
"xloc": [
14401
- "default.handlebars->29->1090"
14425
+ "default.handlebars->29->1093"
14426
]
14427
},
14428
{
@@ -14418,8 +14442,8 @@
14442
"zh-chs": "输入",
14443
"zh-cht": "輸入",
14444
"xloc": [
14421
- "default.handlebars->29->1272",
14422
- "default.handlebars->29->1273"
14445
+ "default.handlebars->29->1275",
14446
+ "default.handlebars->29->1276"
14447
]
14448
},
14449
{
@@ -14439,7 +14463,7 @@
14463
"zh-chs": "输入管理领域名称的逗号分隔列表。",
14464
"zh-cht": "輸入管理領域名稱的逗號分隔列表。",
14465
"xloc": [
14442
- "default.handlebars->29->1775"
14466
+ "default.handlebars->29->1780"
14467
]
14468
},
14469
{
@@ -14479,7 +14503,7 @@
14503
"zh-chs": "输入文本,然后单击“确定”以使用美式英语键盘远程输入文本。在继续操作之前,请确保将远程鼠标放置在正确的位置。",
14504
"zh-cht": "輸入文本,然後單擊“確定”以使用美式英語鍵盤遠程輸入文本。在繼續操作之前,請確保將遠程光標放置在正確的位置。",
14505
"xloc": [
14482
- "default.handlebars->29->832",
14506
+ "default.handlebars->29->835",
14507
"desktop.handlebars->3->22"
14508
]
14509
},
@@ -14542,7 +14566,7 @@
14566
"zh-chs": "输入支持SMS的电话号码。验证后,该号码可用于登录验证和其他通知。",
14567
"zh-cht": "輸入支持SMS的電話號碼。驗證後,該號碼可用於登入驗證和其他通知。",
14568
"xloc": [
14545
- "default.handlebars->29->1011"
14569
+ "default.handlebars->29->1014"
14570
]
14571
},
14572
{
@@ -14602,7 +14626,7 @@
14626
"zh-chs": "世界文",
14627
"zh-cht": "世界語",
14628
"xloc": [
14605
- "default.handlebars->29->1091"
14629
+ "default.handlebars->29->1094"
14630
]
14631
},
14632
{
@@ -14622,7 +14646,7 @@
14646
"zh-chs": "爱沙尼亚文",
14647
"zh-cht": "愛沙尼亞語",
14648
"xloc": [
14625
- "default.handlebars->29->1092"
14649
+ "default.handlebars->29->1095"
14650
]
14651
},
14652
{
@@ -14642,7 +14666,7 @@
14666
"zh-chs": "事件详情",
14667
"zh-cht": "事件詳情",
14668
"xloc": [
14645
- "default.handlebars->29->915"
14669
+ "default.handlebars->29->918"
14670
]
14671
},
14672
{
@@ -14662,7 +14686,7 @@
14686
"zh-chs": "事件列表输出",
14687
"zh-cht": "事件列表輸出",
14688
"xloc": [
14665
- "default.handlebars->29->1686"
14689
+ "default.handlebars->29->1691"
14690
]
14691
},
14692
{
@@ -14755,7 +14779,7 @@
14779
"zh-cht": "到期時間",
14780
"xloc": [
14781
"default.handlebars->29->188",
14758
- "default.handlebars->29->725"
14782
+ "default.handlebars->29->728"
14783
]
14784
},
14785
{
@@ -14815,7 +14839,7 @@
14839
"zh-chs": "扩充式ASCII",
14840
"zh-cht": "擴充式ASCII",
14841
"xloc": [
14818
- "default.handlebars->29->860"
14842
+ "default.handlebars->29->863"
14843
]
14844
},
14845
{
@@ -14855,7 +14879,7 @@
14879
"zh-chs": "外部",
14880
"zh-cht": "外部",
14881
"xloc": [
14858
- "default.handlebars->29->2075"
14882
+ "default.handlebars->29->2082"
14883
]
14884
},
14885
{
@@ -14895,7 +14919,7 @@
14919
"zh-chs": "FYRO马其顿语",
14920
"zh-cht": "FYRO馬其頓語",
14921
"xloc": [
14898
- "default.handlebars->29->1142"
14922
+ "default.handlebars->29->1145"
14923
]
14924
},
14925
{
@@ -14915,7 +14939,7 @@
14939
"zh-chs": "法罗语",
14940
"zh-cht": "法羅語",
14941
"xloc": [
14918
- "default.handlebars->29->1093"
14942
+ "default.handlebars->29->1096"
14943
]
14944
},
14945
{
@@ -14955,7 +14979,7 @@
14979
"zh-chs": "本地用户拒绝后无法启动远程桌面",
14980
"zh-cht": "本地用戶拒絕後無法啟動遠程桌面",
14981
"xloc": [
14958
- "default.handlebars->29->1599"
14982
+ "default.handlebars->29->1602"
14983
]
14984
},
14985
{
@@ -14975,7 +14999,7 @@
14999
"zh-chs": "本地用户拒绝后无法启动远程文件",
15000
"zh-cht": "本地用戶拒絕後無法啟動遠程文件",
15001
"xloc": [
14978
- "default.handlebars->29->1606"
15002
+ "default.handlebars->29->1609"
15003
]
15004
},
15005
{
@@ -14995,7 +15019,7 @@
15019
"zh-chs": "无法启动远程终端接合{0}({1})",
15020
"zh-cht": "無法啟動遠程終端接合{0}({1})",
15021
"xloc": [
14998
- "default.handlebars->29->814",
15022
+ "default.handlebars->29->817",
15023
"desktop.handlebars->3->9"
15024
]
15025
},
@@ -15016,7 +15040,7 @@
15040
"zh-chs": "波斯文(波斯文)",
15041
"zh-cht": "波斯語(波斯語)",
15042
"xloc": [
15019
- "default.handlebars->29->1094"
15043
+ "default.handlebars->29->1097"
15044
]
15045
},
15046
{
@@ -15058,7 +15082,7 @@
15082
"zh-chs": "功能",
15083
"zh-cht": "功能",
15084
"xloc": [
15061
- "default.handlebars->29->1317"
15085
+ "default.handlebars->29->1320"
15086
]
15087
},
15088
{
@@ -15078,7 +15102,7 @@
15102
"zh-chs": "斐济",
15103
"zh-cht": "斐濟",
15104
"xloc": [
15081
- "default.handlebars->29->1095"
15105
+ "default.handlebars->29->1098"
15106
]
15107
},
15108
{
@@ -15120,7 +15144,7 @@
15144
"xloc": [
15145
"default-mobile.handlebars->9->318",
15146
"default.handlebars->29->505",
15123
- "default.handlebars->29->886"
15147
+ "default.handlebars->29->889"
15148
]
15149
},
15150
{
@@ -15140,8 +15164,8 @@
15164
"zh-chs": "档案操作",
15165
"zh-cht": "檔案操作",
15166
"xloc": [
15143
- "default.handlebars->29->871",
15144
- "default.handlebars->29->873"
15167
+ "default.handlebars->29->874",
15168
+ "default.handlebars->29->876"
15169
]
15170
},
15171
{
@@ -15181,7 +15205,7 @@
15205
"zh-chs": "文件系统驱动",
15206
"zh-cht": "FileSystemDriver",
15207
"xloc": [
15184
- "default.handlebars->29->841"
15208
+ "default.handlebars->29->844"
15209
]
15210
},
15211
{
@@ -15203,8 +15227,8 @@
15227
"xloc": [
15228
"default-mobile.handlebars->9->171",
15229
"default-mobile.handlebars->9->268",
15206
- "default.handlebars->29->1403",
15207
- "default.handlebars->29->2009",
15230
+ "default.handlebars->29->1406",
15231
+ "default.handlebars->29->2016",
15232
"default.handlebars->29->258",
15233
"default.handlebars->container->topbar->1->1->MainSubMenuSpan->MainSubMenu->1->0->MainDevFiles",
15234
"default.handlebars->contextMenu->cxfiles"
@@ -15247,9 +15271,9 @@
15271
"zh-chs": "档案通知",
15272
"zh-cht": "檔案通知",
15273
"xloc": [
15250
- "default.handlebars->29->1325",
15251
- "default.handlebars->29->1831",
15252
- "default.handlebars->29->1918",
15274
+ "default.handlebars->29->1328",
15275
+ "default.handlebars->29->1836",
15276
+ "default.handlebars->29->1923",
15277
"default.handlebars->29->591"
15278
]
15279
},
@@ -15270,9 +15294,9 @@
15294
"zh-chs": "档案提示",
15295
"zh-cht": "檔案提示",
15296
"xloc": [
15273
- "default.handlebars->29->1324",
15274
- "default.handlebars->29->1830",
15275
- "default.handlebars->29->1917",
15297
+ "default.handlebars->29->1327",
15298
+ "default.handlebars->29->1835",
15299
+ "default.handlebars->29->1922",
15300
"default.handlebars->29->590"
15301
]
15302
},
@@ -15316,7 +15340,7 @@
15340
"zh-chs": "录制会话已完成,{0}秒",
15341
"zh-cht": "錄製會話已完成,{0}秒",
15342
"xloc": [
15319
- "default.handlebars->29->1572"
15343
+ "default.handlebars->29->1575"
15344
]
15345
},
15346
{
@@ -15336,7 +15360,7 @@
15360
"zh-chs": "芬兰",
15361
"zh-cht": "芬蘭",
15362
"xloc": [
15339
- "default.handlebars->29->1096"
15363
+ "default.handlebars->29->1099"
15364
]
15365
},
15366
{
@@ -15490,8 +15514,8 @@
15514
"zh-chs": "下次登录时强制重置密码。",
15515
"zh-cht": "下次登入時強制重置密碼。",
15516
"xloc": [
15493
- "default.handlebars->29->1769",
15494
- "default.handlebars->29->1958"
15517
+ "default.handlebars->29->1774",
15518
+ "default.handlebars->29->1963"
15519
]
15520
},
15521
{
@@ -15574,7 +15598,7 @@
15598
"zh-chs": "格式化",
15599
"zh-cht": "格式化",
15600
"xloc": [
15577
- "default.handlebars->29->1677"
15601
+ "default.handlebars->29->1682"
15602
]
15603
},
15604
{
@@ -15615,8 +15639,8 @@
15639
"zh-chs": "自由",
15640
"zh-cht": "自由",
15641
"xloc": [
15618
- "default.handlebars->29->2033",
15619
- "default.handlebars->29->2035"
15642
+ "default.handlebars->29->2040",
15643
+ "default.handlebars->29->2042"
15644
]
15645
},
15646
{
@@ -15657,7 +15681,7 @@
15681
"zh-chs": "法文(比利时)",
15682
"zh-cht": "法語(比利時)",
15683
"xloc": [
15660
- "default.handlebars->29->1098"
15684
+ "default.handlebars->29->1101"
15685
]
15686
},
15687
{
@@ -15677,7 +15701,7 @@
15701
"zh-chs": "法文(加拿大)",
15702
"zh-cht": "法語(加拿大)",
15703
"xloc": [
15680
- "default.handlebars->29->1099"
15704
+ "default.handlebars->29->1102"
15705
]
15706
},
15707
{
@@ -15697,7 +15721,7 @@
15721
"zh-chs": "法文(法国)",
15722
"zh-cht": "法語(法國)",
15723
"xloc": [
15700
- "default.handlebars->29->1100"
15724
+ "default.handlebars->29->1103"
15725
]
15726
},
15727
{
@@ -15717,7 +15741,7 @@
15741
"zh-chs": "法文(卢森堡)",
15742
"zh-cht": "法語(盧森堡)",
15743
"xloc": [
15720
- "default.handlebars->29->1101"
15744
+ "default.handlebars->29->1104"
15745
]
15746
},
15747
{
@@ -15737,7 +15761,7 @@
15761
"zh-chs": "法文(摩纳哥)",
15762
"zh-cht": "法語(摩納哥)",
15763
"xloc": [
15740
- "default.handlebars->29->1102"
15764
+ "default.handlebars->29->1105"
15765
]
15766
},
15767
{
@@ -15757,7 +15781,7 @@
15781
"zh-chs": "法文(标准)",
15782
"zh-cht": "法語(標準)",
15783
"xloc": [
15760
- "default.handlebars->29->1097"
15784
+ "default.handlebars->29->1100"
15785
]
15786
},
15787
{
@@ -15777,7 +15801,7 @@
15801
"zh-chs": "法文(瑞士)",
15802
"zh-cht": "法語(瑞士)",
15803
"xloc": [
15780
- "default.handlebars->29->1103"
15804
+ "default.handlebars->29->1106"
15805
]
15806
},
15807
{
@@ -15797,7 +15821,7 @@
15821
"zh-chs": "弗里斯兰文",
15822
"zh-cht": "弗里斯蘭語",
15823
"xloc": [
15800
- "default.handlebars->29->1104"
15824
+ "default.handlebars->29->1107"
15825
]
15826
},
15827
{
@@ -15817,7 +15841,7 @@
15841
"zh-chs": "弗留利",
15842
"zh-cht": "弗留利",
15843
"xloc": [
15820
- "default.handlebars->29->1105"
15844
+ "default.handlebars->29->1108"
15845
]
15846
},
15847
{
@@ -15841,9 +15865,9 @@
15865
"default-mobile.handlebars->9->415",
15866
"default-mobile.handlebars->9->424",
15867
"default-mobile.handlebars->9->444",
15844
- "default.handlebars->29->1279",
15845
- "default.handlebars->29->1422",
15846
- "default.handlebars->29->1781"
15868
+ "default.handlebars->29->1282",
15869
+ "default.handlebars->29->1425",
15870
+ "default.handlebars->29->1786"
15871
]
15872
},
15873
{
@@ -15863,7 +15887,7 @@
15887
"zh-chs": "完整管理员(保留所有权利)",
15888
"zh-cht": "完整管理員(保留所有權利)",
15889
"xloc": [
15866
- "default.handlebars->29->1458"
15890
+ "default.handlebars->29->1461"
15891
]
15892
},
15893
{
@@ -15900,7 +15924,7 @@
15924
"zh-chs": "完整设备权限",
15925
"zh-cht": "完整裝置權限",
15926
"xloc": [
15903
- "default.handlebars->29->661"
15927
+ "default.handlebars->29->664"
15928
]
15929
},
15930
{
@@ -15920,7 +15944,7 @@
15944
"zh-chs": "全部权限",
15945
"zh-cht": "全部權限",
15946
"xloc": [
15923
- "default.handlebars->29->679"
15947
+ "default.handlebars->29->682"
15948
]
15949
},
15950
{
@@ -15962,15 +15986,15 @@
15986
"zh-chs": "完整管理员",
15987
"zh-cht": "完整管理員",
15988
"xloc": [
15965
- "default.handlebars->29->1879"
15989
+ "default.handlebars->29->1884"
15990
]
15991
},
15992
{
15993
"en": "Fully Automatic",
15994
"nl": "Vol automatisch",
15995
"xloc": [
15972
- "default.handlebars->29->1342",
15973
- "default.handlebars->29->1365"
15996
+ "default.handlebars->29->1345",
15997
+ "default.handlebars->29->1368"
15998
]
15999
},
16000
{
@@ -15991,7 +16015,7 @@
16015
"zh-cht": "GPU",
16016
"xloc": [
16017
"default-mobile.handlebars->9->391",
15994
- "default.handlebars->29->977"
16018
+ "default.handlebars->29->980"
16019
]
16020
},
16021
{
@@ -16011,7 +16035,7 @@
16035
"zh-chs": "盖尔文(爱尔兰)",
16036
"zh-cht": "蓋爾語(愛爾蘭)",
16037
"xloc": [
16014
- "default.handlebars->29->1107"
16038
+ "default.handlebars->29->1110"
16039
]
16040
},
16041
{
@@ -16031,7 +16055,7 @@
16055
"zh-chs": "盖尔文(苏格兰文)",
16056
"zh-cht": "蓋爾語(蘇格蘭語)",
16057
"xloc": [
16034
- "default.handlebars->29->1106"
16058
+ "default.handlebars->29->1109"
16059
]
16060
},
16061
{
@@ -16051,7 +16075,7 @@
16075
"zh-chs": "加拉契文",
16076
"zh-cht": "加拉契語",
16077
"xloc": [
16054
- "default.handlebars->29->1108"
16078
+ "default.handlebars->29->1111"
16079
]
16080
},
16081
{
@@ -16177,7 +16201,7 @@
16201
"zh-chs": "格鲁吉亚文",
16202
"zh-cht": "格魯吉亞文",
16203
"xloc": [
16180
- "default.handlebars->29->1109"
16204
+ "default.handlebars->29->1112"
16205
]
16206
},
16207
{
@@ -16197,7 +16221,7 @@
16221
"zh-chs": "德文(奥地利)",
16222
"zh-cht": "德語(奧地利)",
16223
"xloc": [
16200
- "default.handlebars->29->1111"
16224
+ "default.handlebars->29->1114"
16225
]
16226
},
16227
{
@@ -16217,7 +16241,7 @@
16241
"zh-chs": "德文(德国)",
16242
"zh-cht": "德文(德國)",
16243
"xloc": [
16220
- "default.handlebars->29->1112"
16244
+ "default.handlebars->29->1115"
16245
]
16246
},
16247
{
@@ -16237,7 +16261,7 @@
16261
"zh-chs": "德文(列支敦士登)",
16262
"zh-cht": "德文(列支敦士登)",
16263
"xloc": [
16240
- "default.handlebars->29->1113"
16264
+ "default.handlebars->29->1116"
16265
]
16266
},
16267
{
@@ -16257,7 +16281,7 @@
16281
"zh-chs": "德文(卢森堡)",
16282
"zh-cht": "德語(盧森堡)",
16283
"xloc": [
16260
- "default.handlebars->29->1114"
16284
+ "default.handlebars->29->1117"
16285
]
16286
},
16287
{
@@ -16277,7 +16301,7 @@
16301
"zh-chs": "德文(标准)",
16302
"zh-cht": "德語(標準)",
16303
"xloc": [
16280
- "default.handlebars->29->1110"
16304
+ "default.handlebars->29->1113"
16305
]
16306
},
16307
{
@@ -16297,7 +16321,7 @@
16321
"zh-chs": "德文(瑞士)",
16322
"zh-cht": "德文(瑞士)",
16323
"xloc": [
16300
- "default.handlebars->29->1115"
16324
+ "default.handlebars->29->1118"
16325
]
16326
},
16327
{
@@ -16358,7 +16382,7 @@
16382
"zh-chs": "正在获取剪贴板内容,{0}个字节",
16383
"zh-cht": "正在獲取剪貼板內容,{0}個字節",
16384
"xloc": [
16361
- "default.handlebars->29->1586"
16385
+ "default.handlebars->29->1589"
16386
]
16387
},
16388
{
@@ -16420,7 +16444,7 @@
16444
"zh-chs": "好",
16445
"zh-cht": "好",
16446
"xloc": [
16423
- "default.handlebars->29->1275"
16447
+ "default.handlebars->29->1278"
16448
]
16449
},
16450
{
@@ -16465,8 +16489,8 @@
16489
"zh-chs": "Google云端硬盘备份",
16490
"zh-cht": "Google雲端硬盤備份",
16491
"xloc": [
16468
- "default.handlebars->29->1286",
16492
"default.handlebars->29->1289",
16493
+ "default.handlebars->29->1292",
16494
"default.handlebars->29->204"
16495
]
16496
},
@@ -16487,7 +16511,7 @@
16511
"zh-chs": "Google云端硬盘控制台",
16512
"zh-cht": "Google雲端硬盤控制台",
16513
"xloc": [
16490
- "default.handlebars->29->1283"
16514
+ "default.handlebars->29->1286"
16515
]
16516
},
16517
{
@@ -16527,7 +16551,7 @@
16551
"zh-chs": "Google云端硬盘备份当前处于活动状态。",
16552
"zh-cht": "Google雲端硬盤備份當前處於活動狀態。",
16553
"xloc": [
16530
- "default.handlebars->29->1287"
16554
+ "default.handlebars->29->1290"
16555
]
16556
},
16557
{
@@ -16547,7 +16571,7 @@
16571
"zh-chs": "希腊文",
16572
"zh-cht": "希臘文",
16573
"xloc": [
16550
- "default.handlebars->29->1116"
16574
+ "default.handlebars->29->1119"
16575
]
16576
},
16577
{
@@ -16589,8 +16613,8 @@
16613
"zh-chs": "集体指令",
16614
"zh-cht": "集體指令",
16615
"xloc": [
16592
- "default.handlebars->29->1725",
16593
- "default.handlebars->29->1804",
16616
+ "default.handlebars->29->1730",
16617
+ "default.handlebars->29->1809",
16618
"default.handlebars->29->448",
16619
"default.handlebars->container->column_l->p1->devListToolbarSpan->1->0->devListToolbar",
16620
"default.handlebars->container->column_l->p4->3->1->0->3->3",
@@ -16614,7 +16638,7 @@
16638
"zh-chs": "通过...分组",
16639
"zh-cht": "通過...分群",
16640
"xloc": [
16617
- "default.handlebars->29->1673"
16641
+ "default.handlebars->29->1678"
16642
]
16643
},
16644
{
@@ -16634,7 +16658,7 @@
16658
"zh-chs": "组标识符",
16659
"zh-cht": "群標識符",
16660
"xloc": [
16637
- "default.handlebars->29->1821"
16661
+ "default.handlebars->29->1826"
16662
]
16663
},
16664
{
@@ -16654,7 +16678,7 @@
16678
"zh-chs": "群组成员",
16679
"zh-cht": "群組成員",
16680
"xloc": [
16657
- "default.handlebars->29->1842"
16681
+ "default.handlebars->29->1847"
16682
]
16683
},
16684
{
@@ -16674,7 +16698,7 @@
16698
"zh-chs": "用户{0}的群组权限。",
16699
"zh-cht": "用戶{0}的群組權限。",
16700
"xloc": [
16677
- "default.handlebars->29->1421"
16701
+ "default.handlebars->29->1424"
16702
]
16703
},
16704
{
@@ -16694,7 +16718,7 @@
16718
"zh-chs": "{0}的群组权限。",
16719
"zh-cht": "{0}的群組權限。",
16720
"xloc": [
16697
- "default.handlebars->29->1420"
16721
+ "default.handlebars->29->1423"
16722
]
16723
},
16724
{
@@ -16762,7 +16786,7 @@
16786
"zh-cht": "來賓姓名",
16787
"xloc": [
16788
"default.handlebars->29->187",
16765
- "default.handlebars->29->709"
16789
+ "default.handlebars->29->712"
16790
]
16791
},
16792
{
@@ -16782,7 +16806,7 @@
16806
"zh-chs": "古久拉提",
16807
"zh-cht": "古久拉提",
16808
"xloc": [
16785
- "default.handlebars->29->1117"
16809
+ "default.handlebars->29->1120"
16810
]
16811
},
16812
{
@@ -16825,7 +16849,7 @@
16849
"zh-chs": "海地文",
16850
"zh-cht": "海地文",
16851
"xloc": [
16828
- "default.handlebars->29->1118"
16852
+ "default.handlebars->29->1121"
16853
]
16854
},
16855
{
@@ -16865,7 +16889,7 @@
16889
"zh-chs": "强行断开代理",
16890
"zh-cht": "強行斷開代理",
16891
"xloc": [
16868
- "default.handlebars->29->1006"
16892
+ "default.handlebars->29->1009"
16893
]
16894
},
16895
{
@@ -16885,7 +16909,7 @@
16909
"zh-chs": "堆总数",
16910
"zh-cht": "堆總數",
16911
"xloc": [
16888
- "default.handlebars->29->2077"
16912
+ "default.handlebars->29->2084"
16913
]
16914
},
16915
{
@@ -16905,7 +16929,7 @@
16929
"zh-chs": "堆使用",
16930
"zh-cht": "堆使用",
16931
"xloc": [
16908
- "default.handlebars->29->2076"
16932
+ "default.handlebars->29->2083"
16933
]
16934
},
16935
{
@@ -16925,7 +16949,7 @@
16949
"zh-chs": "希伯来文",
16950
"zh-cht": "希伯來文",
16951
"xloc": [
16928
- "default.handlebars->29->1119"
16952
+ "default.handlebars->29->1122"
16953
]
16954
},
16955
{
@@ -16960,7 +16984,7 @@
16984
"en": "Help Requested, user: {0}, details: {1}",
16985
"nl": "Hulp verzoek van, user: {0}, details: {1}",
16986
"xloc": [
16963
- "default.handlebars->29->1663"
16987
+ "default.handlebars->29->1666"
16988
]
16989
},
16990
{
@@ -16995,7 +17019,7 @@
17019
"zh-chs": "帮助翻译MeshCentral",
17020
"zh-cht": "幫助翻譯MeshCentral",
17021
"xloc": [
16998
- "default.handlebars->29->1234"
17022
+ "default.handlebars->29->1237"
17023
]
17024
},
17025
{
@@ -17099,7 +17123,7 @@
17123
"zh-chs": "印地文",
17124
"zh-cht": "印地文",
17125
"xloc": [
17102
- "default.handlebars->29->1120"
17126
+ "default.handlebars->29->1123"
17127
]
17128
},
17129
{
@@ -17137,7 +17161,7 @@
17161
"zh-cht": "保存1個項目進行複製",
17162
"xloc": [
17163
"default-mobile.handlebars->9->327",
17140
- "default.handlebars->29->896"
17164
+ "default.handlebars->29->899"
17165
]
17166
},
17167
{
@@ -17158,7 +17182,7 @@
17182
"zh-cht": "保存1個項目進行移動",
17183
"xloc": [
17184
"default-mobile.handlebars->9->331",
17161
- "default.handlebars->29->900"
17185
+ "default.handlebars->29->903"
17186
]
17187
},
17188
{
@@ -17179,7 +17203,7 @@
17203
"zh-cht": "保留{0}個項目進行複製",
17204
"xloc": [
17205
"default-mobile.handlebars->9->325",
17182
- "default.handlebars->29->894"
17206
+ "default.handlebars->29->897"
17207
]
17208
},
17209
{
@@ -17200,7 +17224,7 @@
17224
"zh-cht": "保存{0}個項目以進行移動",
17225
"xloc": [
17226
"default-mobile.handlebars->9->329",
17203
- "default.handlebars->29->898"
17227
+ "default.handlebars->29->901"
17228
]
17229
},
17230
{
@@ -17221,7 +17245,7 @@
17245
"zh-cht": "保存{0}項目{1}給{2}",
17246
"xloc": [
17247
"default-mobile.handlebars->9->129",
17224
- "default.handlebars->29->1559"
17248
+ "default.handlebars->29->1562"
17249
]
17250
},
17251
{
@@ -17247,7 +17271,7 @@
17271
"default-mobile.handlebars->9->291",
17272
"default.handlebars->29->288",
17273
"default.handlebars->29->545",
17250
- "default.handlebars->29->807"
17274
+ "default.handlebars->29->810"
17275
]
17276
},
17277
{
@@ -17267,7 +17291,7 @@
17291
"zh-chs": "主机名同步",
17292
"zh-cht": "主機名同步",
17293
"xloc": [
17270
- "default.handlebars->29->1314"
17294
+ "default.handlebars->29->1317"
17295
]
17296
},
17297
{
@@ -17287,7 +17311,7 @@
17311
"zh-chs": "匈牙利文",
17312
"zh-cht": "匈牙利文",
17313
"xloc": [
17290
- "default.handlebars->29->1121"
17314
+ "default.handlebars->29->1124"
17315
]
17316
},
17317
{
@@ -17352,9 +17376,9 @@
17376
"xloc": [
17377
"default-mobile.handlebars->9->360",
17378
"default-mobile.handlebars->9->364",
17355
- "default.handlebars->29->936",
17356
- "default.handlebars->29->946",
17357
- "default.handlebars->29->950"
17379
+ "default.handlebars->29->939",
17380
+ "default.handlebars->29->949",
17381
+ "default.handlebars->29->953"
17382
]
17383
},
17384
{
@@ -17376,9 +17400,9 @@
17400
"xloc": [
17401
"default-mobile.handlebars->9->358",
17402
"default-mobile.handlebars->9->362",
17379
- "default.handlebars->29->934",
17380
- "default.handlebars->29->944",
17381
- "default.handlebars->29->948"
17403
+ "default.handlebars->29->937",
17404
+ "default.handlebars->29->947",
17405
+ "default.handlebars->29->951"
17406
]
17407
},
17408
{
@@ -17400,10 +17424,10 @@
17424
"xloc": [
17425
"default-mobile.handlebars->9->357",
17426
"default-mobile.handlebars->9->359",
17403
- "default.handlebars->29->933",
17404
- "default.handlebars->29->935",
17405
- "default.handlebars->29->943",
17406
- "default.handlebars->29->945"
17427
+ "default.handlebars->29->936",
17428
+ "default.handlebars->29->938",
17429
+ "default.handlebars->29->946",
17430
+ "default.handlebars->29->948"
17431
]
17432
},
17433
{
@@ -17488,8 +17512,8 @@
17512
"xloc": [
17513
"default-mobile.handlebars->9->361",
17514
"default-mobile.handlebars->9->363",
17491
- "default.handlebars->29->947",
17492
- "default.handlebars->29->949"
17515
+ "default.handlebars->29->950",
17516
+ "default.handlebars->29->952"
17517
]
17518
},
17519
{
@@ -17569,7 +17593,7 @@
17593
"zh-chs": "冰岛文",
17594
"zh-cht": "冰島文",
17595
"xloc": [
17572
- "default.handlebars->29->1122"
17596
+ "default.handlebars->29->1125"
17597
]
17598
},
17599
{
@@ -17590,7 +17614,7 @@
17614
"zh-cht": "圖符選擇",
17615
"xloc": [
17616
"default-mobile.handlebars->9->289",
17593
- "default.handlebars->29->805"
17617
+ "default.handlebars->29->808"
17618
]
17619
},
17620
{
@@ -17611,14 +17635,14 @@
17635
"zh-cht": "識別符",
17636
"xloc": [
17637
"default-mobile.handlebars->9->389",
17614
- "default.handlebars->29->975"
17638
+ "default.handlebars->29->978"
17639
]
17640
},
17641
{
17642
"en": "If in CCM, reactivate Intel® AMT",
17643
"nl": "Indien in CCM, heractiveer Intel® AMT",
17644
"xloc": [
17621
- "default.handlebars->29->1375"
17645
+ "default.handlebars->29->1378"
17646
]
17647
},
17648
{
@@ -17766,7 +17790,7 @@
17790
"zh-chs": "印度尼西亚文",
17791
"zh-cht": "印度尼西亞文",
17792
"xloc": [
17769
- "default.handlebars->29->1123"
17793
+ "default.handlebars->29->1126"
17794
]
17795
},
17796
{
@@ -17939,8 +17963,8 @@
17963
"zh-chs": "安装类型",
17964
"zh-cht": "安裝方式",
17965
"xloc": [
17942
- "default.handlebars->29->1491",
17943
- "default.handlebars->29->1498",
17966
+ "default.handlebars->29->1494",
17967
+ "default.handlebars->29->1501",
17968
"default.handlebars->29->334",
17969
"default.handlebars->29->348",
17970
"default.handlebars->29->362"
@@ -17963,7 +17987,7 @@
17987
"zh-chs": "英特尔(F10 = ESC + [OM)",
17988
"zh-cht": "Intel(F10 = ESC + [OM)",
17989
"xloc": [
17966
- "default.handlebars->29->862",
17990
+ "default.handlebars->29->865",
17991
"default.handlebars->container->column_l->p12->termTable->1->1->6->1->1->terminalSettingsButtons"
17992
]
17993
},
@@ -17984,7 +18008,7 @@
18008
"zh-chs": "英特尔AMT",
18009
"zh-cht": "英特爾AMT",
18010
"xloc": [
17987
- "default.handlebars->29->2073"
18011
+ "default.handlebars->29->2080"
18012
]
18013
},
18014
{
@@ -18004,7 +18028,7 @@
18028
"zh-chs": "英特尔ASCII",
18029
"zh-cht": "Intel ASCII",
18030
"xloc": [
18007
- "default.handlebars->29->861"
18031
+ "default.handlebars->29->864"
18032
]
18033
},
18034
{
@@ -18027,11 +18051,11 @@
18051
"default-mobile.handlebars->9->205",
18052
"default-mobile.handlebars->9->247",
18053
"default-mobile.handlebars->9->252",
18030
- "default.handlebars->29->1332",
18031
- "default.handlebars->29->1343",
18032
- "default.handlebars->29->1510",
18033
- "default.handlebars->29->1518",
18034
- "default.handlebars->29->2095",
18054
+ "default.handlebars->29->1335",
18055
+ "default.handlebars->29->1346",
18056
+ "default.handlebars->29->1513",
18057
+ "default.handlebars->29->1521",
18058
+ "default.handlebars->29->2102",
18059
"default.handlebars->29->515",
18060
"default.handlebars->29->573",
18061
"default.handlebars->29->601"
@@ -18187,7 +18211,7 @@
18211
"zh-chs": "英特尔®AMT政策",
18212
"zh-cht": "Intel® AMT政策",
18213
"xloc": [
18190
- "default.handlebars->29->1366"
18214
+ "default.handlebars->29->1369"
18215
]
18216
},
18217
{
@@ -18207,7 +18231,7 @@
18231
"zh-chs": "英特尔®AMT重定向",
18232
"zh-cht": "Intel® AMT重定向",
18233
"xloc": [
18210
- "default.handlebars->29->2011",
18234
+ "default.handlebars->29->2018",
18235
"player.handlebars->3->14"
18236
]
18237
},
@@ -18248,7 +18272,7 @@
18272
"zh-chs": "英特尔®AMT WSMAN",
18273
"zh-cht": "Intle® AMT WSMAN",
18274
"xloc": [
18251
- "default.handlebars->29->2010",
18275
+ "default.handlebars->29->2017",
18276
"player.handlebars->3->13"
18277
]
18278
},
@@ -18308,8 +18332,8 @@
18332
"zh-chs": "英特尔®AMT桌面和串行事件。",
18333
"zh-cht": "Intel® AMT桌面和串行事件。",
18334
"xloc": [
18311
- "default.handlebars->29->1240",
18312
- "default.handlebars->29->1506"
18335
+ "default.handlebars->29->1243",
18336
+ "default.handlebars->29->1509"
18337
]
18338
},
18339
{
@@ -18495,8 +18519,8 @@
18519
"zh-cht": "僅限Intel® AMT,無代理",
18520
"xloc": [
18521
"default-mobile.handlebars->9->406",
18498
- "default.handlebars->29->1269",
18499
- "default.handlebars->29->1304"
18522
+ "default.handlebars->29->1272",
18523
+ "default.handlebars->29->1307"
18524
]
18525
},
18526
{
@@ -18561,7 +18585,7 @@
18585
"zh-cht": "Intel ® Active Management Technology(Intel® AMT)",
18586
"xloc": [
18587
"default-mobile.handlebars->9->381",
18564
- "default.handlebars->29->967"
18588
+ "default.handlebars->29->970"
18589
]
18590
},
18591
{
@@ -18766,7 +18790,7 @@
18790
"zh-chs": "互动",
18791
"zh-cht": "互動",
18792
"xloc": [
18769
- "default.handlebars->29->842"
18793
+ "default.handlebars->29->845"
18794
]
18795
},
18796
{
@@ -18786,8 +18810,8 @@
18810
"zh-chs": "仅限互动",
18811
"zh-cht": "僅限互動",
18812
"xloc": [
18789
- "default.handlebars->29->1494",
18790
- "default.handlebars->29->1501",
18813
+ "default.handlebars->29->1497",
18814
+ "default.handlebars->29->1504",
18815
"default.handlebars->29->337",
18816
"default.handlebars->29->351",
18817
"default.handlebars->29->365"
@@ -18830,7 +18854,7 @@
18854
"zh-chs": "因纽特文",
18855
"zh-cht": "因紐特文",
18856
"xloc": [
18833
- "default.handlebars->29->1124"
18857
+ "default.handlebars->29->1127"
18858
]
18859
},
18860
{
@@ -18860,7 +18884,7 @@
18884
"zh-chs": "无效的设备组类型",
18885
"zh-cht": "無效的裝置群類型",
18886
"xloc": [
18863
- "default.handlebars->29->2047"
18887
+ "default.handlebars->29->2054"
18888
]
18889
},
18890
{
@@ -18880,7 +18904,7 @@
18904
"zh-chs": "无效的JSON",
18905
"zh-cht": "無效的JSON",
18906
"xloc": [
18883
- "default.handlebars->29->2041"
18907
+ "default.handlebars->29->2048"
18908
]
18909
},
18910
{
@@ -18900,8 +18924,8 @@
18924
"zh-chs": "无效的JSON档案格式。",
18925
"zh-cht": "無效的JSON檔案格式。",
18926
"xloc": [
18903
- "default.handlebars->29->1743",
18904
- "default.handlebars->29->1745"
18927
+ "default.handlebars->29->1748",
18928
+ "default.handlebars->29->1750"
18929
]
18930
},
18931
{
@@ -18921,7 +18945,7 @@
18945
"zh-chs": "无效的JSON档案:{0}。",
18946
"zh-cht": "無效的JSON檔案:{0}。",
18947
"xloc": [
18924
- "default.handlebars->29->1741"
18948
+ "default.handlebars->29->1746"
18949
]
18950
},
18951
{
@@ -18941,7 +18965,7 @@
18965
"zh-chs": "无效的PKCS签名",
18966
"zh-cht": "無效的PKCS簽名",
18967
"xloc": [
18944
- "default.handlebars->29->2039"
18968
+ "default.handlebars->29->2046"
18969
]
18970
},
18971
{
@@ -18961,7 +18985,7 @@
18985
"zh-chs": "無效的RSA密碼",
18986
"zh-cht": "無效的RSA密碼",
18987
"xloc": [
18964
- "default.handlebars->29->2040"
18988
+ "default.handlebars->29->2047"
18989
]
18990
},
18991
{
@@ -19088,7 +19112,7 @@
19112
"zh-chs": "使电邮无效",
19113
"zh-cht": "使電郵無效",
19114
"xloc": [
19091
- "default.handlebars->29->1719"
19115
+ "default.handlebars->29->1724"
19116
]
19117
},
19118
{
@@ -19165,7 +19189,7 @@
19189
"zh-chs": "任何人都可以使用邀请代码通过以下公共连接将设备加入该设备组:",
19190
"zh-cht": "任何人都可以使用邀請代碼通過以下公共鏈結將裝置加入該裝置群:",
19191
"xloc": [
19168
- "default.handlebars->29->1496"
19192
+ "default.handlebars->29->1499"
19193
]
19194
},
19195
{
@@ -19205,7 +19229,7 @@
19229
"zh-chs": "邀请",
19230
"zh-cht": "邀請",
19231
"xloc": [
19208
- "default.handlebars->29->1353",
19232
+ "default.handlebars->29->1356",
19233
"default.handlebars->29->285",
19234
"default.handlebars->29->353"
19235
]
@@ -19227,11 +19251,11 @@
19251
"zh-chs": "邀请码",
19252
"zh-cht": "邀請碼",
19253
"xloc": [
19230
- "default.handlebars->29->1336",
19231
- "default.handlebars->29->1490",
19232
- "default.handlebars->29->1495",
19233
- "default.handlebars->29->1497",
19234
- "default.handlebars->29->1502"
19254
+ "default.handlebars->29->1339",
19255
+ "default.handlebars->29->1493",
19256
+ "default.handlebars->29->1498",
19257
+ "default.handlebars->29->1500",
19258
+ "default.handlebars->29->1505"
19259
]
19260
},
19261
{
@@ -19271,7 +19295,7 @@
19295
"zh-chs": "邀请某人在该设备组上安装网格代理。",
19296
"zh-cht": "邀請某人在該裝置群上安裝mesh agent。",
19297
"xloc": [
19274
- "default.handlebars->29->1352",
19298
+ "default.handlebars->29->1355",
19299
"default.handlebars->29->284"
19300
]
19301
},
@@ -19312,7 +19336,7 @@
19336
"zh-chs": "爱尔兰文",
19337
"zh-cht": "愛爾蘭文",
19338
"xloc": [
19315
- "default.handlebars->29->1125"
19339
+ "default.handlebars->29->1128"
19340
]
19341
},
19342
{
@@ -19332,7 +19356,7 @@
19356
"zh-chs": "意大利文(标准)",
19357
"zh-cht": "意大利文(標準)",
19358
"xloc": [
19335
- "default.handlebars->29->1126"
19359
+ "default.handlebars->29->1129"
19360
]
19361
},
19362
{
@@ -19352,7 +19376,7 @@
19376
"zh-chs": "意大利文(瑞士)",
19377
"zh-cht": "義大利文(瑞士)",
19378
"xloc": [
19355
- "default.handlebars->29->1127"
19379
+ "default.handlebars->29->1130"
19380
]
19381
},
19382
{
@@ -19372,7 +19396,7 @@
19396
"zh-chs": "JSON",
19397
"zh-cht": "JSON",
19398
"xloc": [
19375
- "default.handlebars->29->1679"
19399
+ "default.handlebars->29->1684"
19400
]
19401
},
19402
{
@@ -19392,8 +19416,8 @@
19416
"zh-chs": "JSON格式",
19417
"zh-cht": "JSON格式",
19418
"xloc": [
19395
- "default.handlebars->29->1684",
19396
- "default.handlebars->29->1749",
19419
+ "default.handlebars->29->1689",
19420
+ "default.handlebars->29->1754",
19421
"default.handlebars->29->476"
19422
]
19423
},
@@ -19414,7 +19438,7 @@
19438
"zh-chs": "日文",
19439
"zh-cht": "日文",
19440
"xloc": [
19417
- "default.handlebars->29->1128"
19441
+ "default.handlebars->29->1131"
19442
]
19443
},
19444
{
@@ -19434,7 +19458,7 @@
19458
"zh-chs": "已加入桌面Multiplex会话",
19459
"zh-cht": "已加入桌面Multiplex會話",
19460
"xloc": [
19437
- "default.handlebars->29->1569"
19461
+ "default.handlebars->29->1572"
19462
]
19463
},
19464
{
@@ -19454,7 +19478,7 @@
19478
"zh-chs": "卡纳达文",
19479
"zh-cht": "卡納達文",
19480
"xloc": [
19457
- "default.handlebars->29->1129"
19481
+ "default.handlebars->29->1132"
19482
]
19483
},
19484
{
@@ -19474,7 +19498,7 @@
19498
"zh-chs": "克什米尔文",
19499
"zh-cht": "克什米爾文",
19500
"xloc": [
19477
- "default.handlebars->29->1130"
19501
+ "default.handlebars->29->1133"
19502
]
19503
},
19504
{
@@ -19494,14 +19518,14 @@
19518
"zh-chs": "哈萨克文",
19519
"zh-cht": "哈薩克文",
19520
"xloc": [
19497
- "default.handlebars->29->1131"
19521
+ "default.handlebars->29->1134"
19522
]
19523
},
19524
{
19525
"en": "Keep existing password",
19526
"nl": "Behoud huidige wachtwoord",
19527
"xloc": [
19504
- "default.handlebars->29->1367"
19528
+ "default.handlebars->29->1370"
19529
]
19530
},
19531
{
@@ -19521,7 +19545,7 @@
19545
"zh-chs": "内核驱动器",
19546
"zh-cht": "內核驅動器",
19547
"xloc": [
19524
- "default.handlebars->29->843"
19548
+ "default.handlebars->29->846"
19549
]
19550
},
19551
{
@@ -19541,8 +19565,8 @@
19565
"zh-chs": "键名",
19566
"zh-cht": "鍵名",
19567
"xloc": [
19544
- "default.handlebars->29->1022",
19545
- "default.handlebars->29->1025"
19568
+ "default.handlebars->29->1025",
19569
+ "default.handlebars->29->1028"
19570
]
19571
},
19572
{
@@ -19602,7 +19626,7 @@
19626
"zh-chs": "高棉文",
19627
"zh-cht": "高棉文",
19628
"xloc": [
19605
- "default.handlebars->29->1132"
19629
+ "default.handlebars->29->1135"
19630
]
19631
},
19632
{
@@ -19622,7 +19646,7 @@
19646
"zh-chs": "杀死进程{0}",
19647
"zh-cht": "殺死進程{0}",
19648
"xloc": [
19625
- "default.handlebars->29->1584"
19649
+ "default.handlebars->29->1587"
19650
]
19651
},
19652
{
@@ -19642,7 +19666,7 @@
19666
"zh-chs": "吉尔吉斯",
19667
"zh-cht": "吉爾吉斯",
19668
"xloc": [
19645
- "default.handlebars->29->1133"
19669
+ "default.handlebars->29->1136"
19670
]
19671
},
19672
{
@@ -19662,7 +19686,7 @@
19686
"zh-chs": "克林贡",
19687
"zh-cht": "克林貢",
19688
"xloc": [
19665
- "default.handlebars->29->1134"
19689
+ "default.handlebars->29->1137"
19690
]
19691
},
19692
{
@@ -19683,7 +19707,7 @@
19707
"zh-cht": "已知的",
19708
"xloc": [
19709
"default-mobile.handlebars->9->380",
19686
- "default.handlebars->29->966"
19710
+ "default.handlebars->29->969"
19711
]
19712
},
19713
{
@@ -19703,7 +19727,7 @@
19727
"zh-chs": "韩文",
19728
"zh-cht": "韓文",
19729
"xloc": [
19706
- "default.handlebars->29->1135"
19730
+ "default.handlebars->29->1138"
19731
]
19732
},
19733
{
@@ -19723,7 +19747,7 @@
19747
"zh-chs": "韩文(朝鲜)",
19748
"zh-cht": "韓文(朝鮮)",
19749
"xloc": [
19726
- "default.handlebars->29->1136"
19750
+ "default.handlebars->29->1139"
19751
]
19752
},
19753
{
@@ -19743,7 +19767,7 @@
19767
"zh-chs": "韩文(韩国)",
19768
"zh-cht": "韓文(韓國)",
19769
"xloc": [
19746
- "default.handlebars->29->1137"
19770
+ "default.handlebars->29->1140"
19771
]
This file is too large to show in full.
views/default.handlebars
+70
-5
@@ -1795,6 +1795,7 @@
1795
powerTimelineReq = null;
1796
powerTimelineNode = null;
1797
powerTimelineUpdate = null;
1798
+ deviceShares = null;
1799
deleteAllNotifications(); // Close and clear notifications if present
1800
hideContextMenu(); // Hide the context menu if present
1801
QV('verifyEmailId2', false);
@@ -2116,6 +2117,13 @@
2117
if (currentNode._id == message.nodeid) { mainUpdate(256); }
2118
break;
2119
}
2120
+ case 'deviceShares': {
2121
+ if (message.nodeid != deviceSharesReq) break;
2122
+ deviceSharesNode = message.nodeid;
2123
+ deviceShares = message.deviceShares;
2124
+ if (currentNode._id == message.nodeid) { gotoDevice(currentNode._id, xxcurrentView, true); }
2125
+ break;
2126
+ }
2127
case 'getsysinfo': {
2128
if (message.nodeid != powerTimelineReq) break;
2129
if (message.noinfo === true) {
@@ -2495,7 +2503,7 @@
2503
}
2504
case 'event': {
2505
if (!message.event.nolog) {
2498
- if (currentNode && (message.event.nodeid == currentNode._id)) {
2506
+ if (currentNode && (message.event.nodeid == currentNode._id) && (currentDeviceEvents != null)) {
2507
// If this event has a nodeid and we are looking at this node, update the log in real time.
2508
currentDeviceEvents.unshift(message.event);
2509
var eventLimit = parseInt(p16limitdropdown.value);
@@ -2520,6 +2528,13 @@
2528
if (message.event.noact) break; // Take no action on this event
2529
2530
switch (message.event.action) {
2531
+ case 'deviceShareUpdate': {
2532
+ if (message.event.nodeid != deviceSharesReq) break;
2533
+ deviceSharesNode = message.event.nodeid;
2534
+ deviceShares = message.event.deviceShares;
2535
+ if (currentNode._id == deviceSharesNode) { gotoDevice(currentNode._id, xxcurrentView, true); }
2536
+ break;
2537
+ }
2538
case 'agentlog': {
2539
if (message.event.msgid == 98) {
2540
// This is a agent help request, popup a notification.
@@ -5525,6 +5540,11 @@
5540
var powerTimelineReq = null;
5541
var powerTimelineUpdate = null;
5542
var powerTimeline = null;
5543
+
5544
+ var deviceSharesNode = null;
5545
+ var deviceSharesReq = null;
5546
+ var deviceShares = null;
5547
+
5548
function getCurrentNode() { return currentNode; };
5549
function gotoDevice(nodeid, panel, refresh, event) {
5550
// Remind the user to verify the email address
@@ -5881,6 +5901,12 @@
5901
QH('p17info', '');
5902
}
5903
5904
+ // Request device sharing
5905
+ if ((deviceSharesNode != currentNode._id) && (deviceSharesReq != currentNode._id)) {
5906
+ deviceSharesReq = currentNode._id;
5907
+ meshserver.send({ action: 'deviceShares', nodeid: currentNode._id });
5908
+ }
5909
+
5910
// Reset the desktop tools
5911
QV('DeskTools', false);
5912
showDeskToolsProcesses();
@@ -5957,8 +5983,23 @@
5983
}
5984
if (count == 1) { x += '<tr><td><div style=padding:6px> <i>' + "No users with special device permissions" + '</i><div></div></div></td><td></td></tr>'; }
5985
x += '</tbody></table>';
5986
+
5987
+ // Show device shares
5988
+ if ((deviceShares != null) && (deviceSharesNode == currentNode._id) && (deviceShares.length > 0)) {
5989
+ x += '<br /><table style="color:black;background-color:#EEE;border-color:#AAA;border-width:1px;border-style:solid;border-collapse:collapse" border=0 cellpadding=2 cellspacing=0 width=100%><tbody><tr style=background-color:#AAAAAA;font-weight:bold><th scope=col style=text-align:left;width:430px>' + "Active Device Sharing" + '</th><th scope=col style=text-align:left></th></tr>';
5990
+ count = 1;
5991
+ for (var i = 0; i < deviceShares.length; i++) {
5992
+ var dshare = deviceShares[i];
5993
+ var trash = '<a href="' + dshare.url + '" rel="noreferrer noopener" target=_blank title="' + "Device Sharing Link" + '" style=cursor:pointer><img src=images/link2.png border=0 height=10 width=10></a> <a href=# onclick=\'return p30removeDeviceSharing(event,"' + encodeURIComponentEx(currentNode._id) + '","' + encodeURIComponentEx(dshare.publicid) + '","' + encodeURIComponentEx(dshare.guestName) + '")\' title="' + "Remove device sharing" + '" style=cursor:pointer><img src=images/trash.png border=0 height=10 width=10></a>';
5994
+ var details = printFlexDateTime(new Date(dshare.startTime)) + ' to ' + printFlexDateTime(new Date(dshare.expireTime));
5995
+ if (dshare.consent) { if ((dshare.consent & 8) != 0) { details += ', Prompt for consent'; } }
5996
+ x += '<tr ' + (((++count % 2) == 0) ? 'style=background-color:#DDD' : '') + '><td style=width:30%><div class=m' + 2 + '></div><div> ' + dshare.guestName + '<div></div></div></td><td style=width:70%><div style=float:right>' + trash + '</div><div>' + details + '</div></td></tr>';
5997
+ }
5998
+ x += '</tbody></table>';
5999
+ }
6000
QH('p10html4', x);
6001
6002
+
6003
// Change the URL
6004
var urlviewmode = '';
6005
if (((features & 0x10000000) == 0) && (xxcurrentView >= 10) && (xxcurrentView <= 19) && (currentNode != null)) {
@@ -8415,7 +8456,12 @@
8456
msg = EscapeHtml(event.msg).split('(R)').join('®');
8457
} else {
8458
msg = eventsMessageId[event.msgid];
8418
- if (event.msgArgs != null) { for (var i in event.msgArgs) { msg = msg.split('{' + i + '}').join(event.msgArgs[i]); } }
8459
+ for (var i in event.msgArgs) {
8460
+ var xx = event.msgArgs[i];
8461
+ if ((typeof xx == 'string') && (xx.indexOf('DATETIME:') == 0)) { xx = printFlexDateTime(new Date(parseInt(xx.substring(9)))); }
8462
+ msg = msg.split('{' + i + '}').join(xx);
8463
+ }
8464
+ //if (event.msgArgs != null) { for (var i in event.msgArgs) { msg = msg.split('{' + i + '}').join(event.msgArgs[i]); } }
8465
msg = EscapeHtml(msg).split('(R)').join('®');
8466
}
8467
if (event.username) {
@@ -10828,7 +10874,9 @@
10874
97: "Removed phone number of user {0}",
10875
98: "Help Requested, user: {0}, details: {1}",
10876
99: "Running commands as user",
10831
- 100: "Running commands as user if possible"
10877
+ 100: "Running commands as user if possible",
10878
+ 101: "Added device share {0} from {1} to {2}",
10879
+ 102: "Removed device share {0}"
10880
};
10881
10882
// Highlights the device being hovered
@@ -10861,7 +10909,13 @@
10909
msg = EscapeHtml(event.msg).split('(R)').join('®');
10910
} else {
10911
msg = eventsMessageId[event.msgid];
10864
- if (event.msgArgs != null) { for (var i in event.msgArgs) { msg = msg.split('{' + i + '}').join(event.msgArgs[i]); } }
10912
+ if (event.msgArgs != null) {
10913
+ for (var i in event.msgArgs) {
10914
+ var xx = event.msgArgs[i];
10915
+ if ((typeof xx == 'string') && (xx.indexOf('DATETIME:') == 0)) { xx = printFlexDateTime(new Date(parseInt(xx.substring(9)))); }
10916
+ msg = msg.split('{' + i + '}').join(xx);
10917
+ }
10918
+ }
10919
msg = EscapeHtml(msg).split('(R)').join('®');
10920
}
10921
if (event.nodeid) {
@@ -12357,6 +12411,11 @@
12411
QH('p30html2', x);
12412
}
12413
12414
+ function p30removeDeviceSharing(event, nodeid, publicid, guestname) {
12415
+ if (xxdialogMode) return;
12416
+ setDialogMode(2, "Remove Device Share", 3, function(b, tag) { meshserver.send({ action: 'removeDeviceShare', nodeid: tag[0], publicid: tag[1] }); }, format("Confirm removal of device share \"{0}\"?", decodeURIComponent(guestname)), [ decodeURIComponent(nodeid), decodeURIComponent(publicid) ]);
12417
+ }
12418
+
12419
function p30removeNodeFromUser(event, nodeid) {
12420
if (xxdialogMode) return;
12421
var node = getNodeFromId(decodeURIComponent(nodeid));
@@ -12441,7 +12500,12 @@
12500
msg = EscapeHtml(event.msg).split('(R)').join('®');
12501
} else {
12502
msg = eventsMessageId[event.msgid];
12444
- if (event.msgArgs != null) { for (var i in event.msgArgs) { msg = msg.split('{' + i + '}').join(event.msgArgs[i]); } }
12503
+ for (var i in event.msgArgs) {
12504
+ var xx = event.msgArgs[i];
12505
+ if ((typeof xx == 'string') && (xx.indexOf('DATETIME:') == 0)) { xx = printFlexDateTime(new Date(parseInt(xx.substring(9)))); }
12506
+ msg = msg.split('{' + i + '}').join(xx);
12507
+ }
12508
+ //if (event.msgArgs != null) { for (var i in event.msgArgs) { msg = msg.split('{' + i + '}').join(event.msgArgs[i]); } }
12509
msg = EscapeHtml(msg).split('(R)').join('®');
12510
}
12511
if (event.nodeid) {
@@ -13700,6 +13764,7 @@
13764
function printDate(d) { return d.toLocaleDateString(args.locale); }
13765
function printTime(d) { return d.toLocaleTimeString(args.locale); }
13766
function printDateTime(d) { return d.toLocaleString(args.locale); }
13767
+ function printFlexDateTime(d) { if (printDate(new Date()) == printDate(d)) { return printTime(d); } else { return printDateTime(d); } }
13768
function addDetailItem(title, value, state) { return '<table style=width:100%><td>' + nobreak(title) + '<td style=text-align:right>' + value + '</table>'; }
13769
function format(format) { var args = Array.prototype.slice.call(arguments, 1); return format.replace(/{(\d+)}/g, function (match, number) { return typeof args[number] != 'undefined' ? args[number] : match; }); };
13770
function addTextLink(subtext, text, link) { var i = text.toLowerCase().indexOf(subtext.toLowerCase()); if (i == -1) { return text; } return text.substring(0, i) + '<a href="' + link + '">' + subtext + '</a>' + text.substring(i + subtext.length); }
webserver.js
+22
-9
@@ -2922,17 +2922,30 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) {
2922
2923
// Check the inbound desktop sharing cookie
2924
var c = obj.parent.decodeCookie(req.query.c, obj.parent.invitationLinkEncryptionKey, 60); // 60 minute timeout
2925
- if ((c == null) || (c.a !== 5) || (typeof c.uid != 'string') || (typeof c.nid != 'string') || (typeof c.gn != 'string') || (typeof c.cf != 'number') || (typeof c.expire != 'number') || (c.expire <= Date.now())) { res.sendStatus(404); return; }
2925
+ if ((c == null) || (c.a !== 5) || (typeof c.uid != 'string') || (typeof c.nid != 'string') || (typeof c.gn != 'string') || (typeof c.cf != 'number') || (typeof c.start != 'number') || (typeof c.expire != 'number') || (typeof c.pid != 'string') || (c.expire <= Date.now())) { res.sendStatus(404); return; }
2926
2927
- // Looks good, let's create the outbound session cookies.
2928
- // Consent flags are 1 = Notify, 8 = Prompt, 64 = Privacy Bar.
2929
- const authCookie = obj.parent.encodeCookie({ userid: c.uid, domainid: domain.id, nid: c.nid, ip: req.clientIp, gn: c.gn, cf: 65 | c.cf, r: 8, expire: c.expire }, obj.parent.loginCookieEncryptionKey);
2927
+ // Check the start time
2928
+ if ((c.start > Date.now()) || (c.start > c.expire)) { res.sendStatus(404); return; }
2929
2931
- // Lets respond by sending out the desktop viewer.
2932
- var httpsPort = ((obj.args.aliasport == null) ? obj.args.port : obj.args.aliasport); // Use HTTPS alias port is specified
2933
- parent.debug('web', 'handleDesktopRequest: Sending guest desktop page for \"' + c.uid + '\", guest \"' + c.gn + '\".');
2934
- res.set({ 'Cache-Control': 'no-store' });
2935
- render(req, res, getRenderPage('desktop', req, domain), getRenderArgs({ authCookie: authCookie, authRelayCookie: '', domainurl: encodeURIComponent(domain.url).replace(/'/g, '%27'), nodeid: c.nid, serverDnsName: obj.getWebServerName(domain), serverRedirPort: args.redirport, serverPublicPort: httpsPort, expire: c.expire }, req, domain));
2930
+ // Check the public id
2931
+ obj.db.GetAllTypeNodeFiltered([c.nid], domain.id, 'deviceshare', null, function (err, docs) {
2932
+ if ((err != null) || (docs.length == 0)) { res.sendStatus(404); return; }
2933
+
2934
+ // Search for the device share public identifier
2935
+ var found = false;
2936
+ for (var i = 0; i < docs.length; i++) { if (docs[i].publicid == c.pid) { found = true; } }
2937
+ if (found == false) { res.sendStatus(404); return; }
2938
+
2939
+ // Looks good, let's create the outbound session cookies.
2940
+ // Consent flags are 1 = Notify, 8 = Prompt, 64 = Privacy Bar.
2941
+ const authCookie = obj.parent.encodeCookie({ userid: c.uid, domainid: domain.id, nid: c.nid, ip: req.clientIp, gn: c.gn, cf: 65 | c.cf, r: 8, expire: c.expire, pid: c.pid }, obj.parent.loginCookieEncryptionKey);
2942
+
2943
+ // Lets respond by sending out the desktop viewer.
2944
+ var httpsPort = ((obj.args.aliasport == null) ? obj.args.port : obj.args.aliasport); // Use HTTPS alias port is specified
2945
+ parent.debug('web', 'handleDesktopRequest: Sending guest desktop page for \"' + c.uid + '\", guest \"' + c.gn + '\".');
2946
+ res.set({ 'Cache-Control': 'no-store' });
2947
+ render(req, res, getRenderPage('desktop', req, domain), getRenderArgs({ authCookie: authCookie, authRelayCookie: '', domainurl: encodeURIComponent(domain.url).replace(/'/g, '%27'), nodeid: c.nid, serverDnsName: obj.getWebServerName(domain), serverRedirPort: args.redirport, serverPublicPort: httpsPort, expire: c.expire }, req, domain));
2948
+ });
2949
}
2950
2951
// Handle domain redirection