More translations, agent console messages are now translated.

This commit is contained in:
Ylian Saint-Hilaire 2020-05-03 12:54:51 -07:00
parent 80e2ac2485
commit 91c17ce74d
32 changed files with 1892 additions and 1215 deletions

View File

@ -1248,7 +1248,7 @@ function createMeshCore(agent) {
} catch (e)
{
MeshServerLog('Failed to start remote terminal session, ' + e.toString() + ' (' + this.httprequest.remoteaddr + ')', this.httprequest);
this.write(JSON.stringify({ ctrlChannel: '102938', type: 'console', msg: e.toString() }));
this.write(JSON.stringify({ ctrlChannel: '102938', type: 'console', msg: e.toString(), msgid: 2, msgargs: [e.toString(), this.httprequest.remoteaddr] }));
this.end();
return;
}
@ -1326,7 +1326,7 @@ function createMeshCore(agent) {
{
// User Consent Prompt is required
// Send a console message back using the console channel, "\n" is supported.
that.write(JSON.stringify({ ctrlChannel: '102938', type: 'console', msg: "Waiting for user to grant access..." }));
that.write(JSON.stringify({ ctrlChannel: '102938', type: 'console', msg: "Waiting for user to grant access...", msgid: 1 }));
var pr = require('message-box').create('MeshCentral', that.httprequest.username + " requesting Terminal Access. Grant access?", 30);
pr.ws = that;
that.pause();
@ -1339,7 +1339,7 @@ function createMeshCore(agent) {
// Success
this.ws._consentpromise = null;
MeshServerLog("Starting remote terminal after local user accepted (" + this.ws.httprequest.remoteaddr + ")", this.ws.httprequest);
this.ws.write(JSON.stringify({ ctrlChannel: '102938', type: 'console', msg: null }));
this.ws.write(JSON.stringify({ ctrlChannel: '102938', type: 'console', msg: null, msgid: 0 }));
if (this.ws.httprequest.consent && (this.ws.httprequest.consent & 2))
{
// User Notifications is required
@ -1352,7 +1352,7 @@ function createMeshCore(agent) {
// User Consent Denied/Failed
this.ws._consentpromise = null;
MeshServerLog("Failed to start remote terminal after local user rejected (" + this.ws.httprequest.remoteaddr + ")", this.ws.httprequest);
this.ws.write(JSON.stringify({ ctrlChannel: '102938', type: 'console', msg: e.toString() }));
this.ws.write(JSON.stringify({ ctrlChannel: '102938', type: 'console', msg: e.toString(), msgid: 2 }));
this.ws.end();
});
}
@ -1477,7 +1477,7 @@ function createMeshCore(agent) {
{
// User Consent Prompt is required
// Send a console message back using the console channel, "\n" is supported.
this.write(JSON.stringify({ ctrlChannel: '102938', type: 'console', msg: "Waiting for user to grant access..." }));
this.write(JSON.stringify({ ctrlChannel: '102938', type: 'console', msg: "Waiting for user to grant access...", msgid: 1 }));
var pr = require('message-box').create('MeshCentral', this.httprequest.username + " requesting KVM Access. Grant access?", 30);
pr.ws = this;
this.pause();
@ -1489,7 +1489,7 @@ function createMeshCore(agent) {
// Success
this.ws._consentpromise = null;
MeshServerLog("Starting remote desktop after local user accepted (" + this.ws.httprequest.remoteaddr + ")", this.ws.httprequest);
this.ws.write(JSON.stringify({ ctrlChannel: '102938', type: 'console', msg: null }));
this.ws.write(JSON.stringify({ ctrlChannel: '102938', type: 'console', msg: null, msgid: 0 }));
if (this.ws.httprequest.consent && (this.ws.httprequest.consent & 1)) {
// User Notifications is required
try { require('toaster').Toast('MeshCentral', this.ws.httprequest.username + " started a remote desktop session."); } catch (ex) { }
@ -1528,7 +1528,7 @@ function createMeshCore(agent) {
// User Consent Denied/Failed
this.ws._consentpromise = null;
MeshServerLog("Failed to start remote desktop after local user rejected (" + this.ws.httprequest.remoteaddr + ")", this.ws.httprequest);
this.ws.end(JSON.stringify({ ctrlChannel: '102938', type: 'console', msg: e.toString() }));
this.ws.end(JSON.stringify({ ctrlChannel: '102938', type: 'console', msg: e.toString(), msgid: 2 }));
});
}
else {
@ -1585,7 +1585,7 @@ function createMeshCore(agent) {
if (this.httprequest.consent && (this.httprequest.consent & 32)) {
// User Consent Prompt is required
// Send a console message back using the console channel, "\n" is supported.
this.write(JSON.stringify({ ctrlChannel: '102938', type: 'console', msg: "Waiting for user to grant access..." }));
this.write(JSON.stringify({ ctrlChannel: '102938', type: 'console', msg: "Waiting for user to grant access...", msgid: 1 }));
var pr = require('message-box').create('MeshCentral', this.httprequest.username + " requesting remote file access. Grant access?", 30);
pr.ws = this;
this.pause();
@ -1609,7 +1609,7 @@ function createMeshCore(agent) {
// User Consent Denied/Failed
this.ws._consentpromise = null;
MeshServerLog("Failed to start remote files after local user rejected (" + this.ws.httprequest.remoteaddr + ")", this.ws.httprequest);
this.ws.end(JSON.stringify({ ctrlChannel: '102938', type: 'console', msg: e.toString() }));
this.ws.end(JSON.stringify({ ctrlChannel: '102938', type: 'console', msg: e.toString(), msgid: 2 }));
});
} else {
// User Consent Prompt is not required

View File

@ -1,15 +1,15 @@
<html><head></head><body><div>[[[SERVERNAME]]] - Email Verification</div>
<html><head></head><body><div>[[[SERVERNAME]]] - ईमेल सत्यापन</div>
<div style="font-family:Arial,Helvetica,sans-serif">
<table style="background-color:#003366;color:lightgray;width:100%" cellpadding="8">
<tbody><tr>
<td>
<b style="font-size:20px;font-family:Arial,Helvetica,sans-serif">[[[SERVERNAME]]] - Verification</b>
<b style="font-size:20px;font-family:Arial,Helvetica,sans-serif">[[[SERVERNAME]] - सत्यापन</b>
</td>
</tr>
</tbody></table>
<p>Hi [[[USERNAME]]], <a href="[[[SERVERURL]]]">[[[SERVERNAME]]]</a> is requesting email verification, click on the following link to complete the process.</p>
<p>हाय [[[USERNAME]]], <a href="[[[SERVERURL]]]">[[[सर्वर का नाम]]]</a> ईमेल सत्यापन का अनुरोध कर रहा है, प्रक्रिया को पूरा करने के लिए निम्न लिंक पर क्लिक करें।</p>
<p style="margin-left:30px">
<a href="[[[SERVERURL]]]/checkmail?c=[[[COOKIE]]]">Click here to verify your e-mail address.</a>
<a href="[[[SERVERURL]]]/checkmail?c=[[[COOKIE]]]">अपना ई-मेल पता सत्यापित करने के लिए यहां क्लिक करें।</a>
</p>
If you did not initiate this request, please ignore this mail.
यदि आपने यह अनुरोध आरंभ नहीं किया है, तो कृपया इस मेल को अनदेखा करें।
</div></body></html>

View File

@ -1,6 +1,6 @@
[[[SERVERNAME]]] - Email Verification
Hi [[[USERNAME]]], [[[SERVERNAME]]] ([[[SERVERURL]]]) is performing an e-mail verification. Nagivate to the following link to complete the process:
[[[SERVERNAME]]] - ईमेल सत्यापन
हाय [[[USERNAME]]], [[[SERVERNAME]]] ([[[SERVERURL]]] ई-मेल सत्यापन कर रहा है। प्रक्रिया को पूरा करने के लिए निम्नलिखित लिंक को बताएं:
~
~[[[SERVERURL]]]/checkmail?c=[[[COOKIE]]]
~
If you did not initiate this request, please ignore this mail.
यदि आपने यह अनुरोध आरंभ नहीं किया है, तो कृपया इस मेल को अनदेखा करें।

View File

@ -1,15 +1,15 @@
<html><head></head><body><div>[[[SERVERNAME]]] - Email Verification</div>
<html><head></head><body><div>[[[SERVERNAME]]]-이메일 확인</div>
<div style="font-family:Arial,Helvetica,sans-serif">
<table style="background-color:#003366;color:lightgray;width:100%" cellpadding="8">
<tbody><tr>
<td>
<b style="font-size:20px;font-family:Arial,Helvetica,sans-serif">[[[SERVERNAME]]] - Verification</b>
<b style="font-size:20px;font-family:Arial,Helvetica,sans-serif">[[[SERVERNAME]]]-확인</b>
</td>
</tr>
</tbody></table>
<p>Hi [[[USERNAME]]], <a href="[[[SERVERURL]]]">[[[SERVERNAME]]]</a> is requesting email verification, click on the following link to complete the process.</p>
<p>[[[USERNAME]]], 안녕하세요. <a href="[[[SERVERURL]]]">[[[서버 이름]]]</a> 이메일 확인을 요청하는 중이면 다음 링크를 클릭하여 프로세스를 완료하십시오.</p>
<p style="margin-left:30px">
<a href="[[[SERVERURL]]]/checkmail?c=[[[COOKIE]]]">Click here to verify your e-mail address.</a>
<a href="[[[SERVERURL]]]/checkmail?c=[[[COOKIE]]]">이메일 주소를 확인하려면 여기를 클릭하십시오.</a>
</p>
If you did not initiate this request, please ignore this mail.
이 요청을 시작하지 않은 경우이 메일을 무시하십시오.
</div></body></html>

View File

@ -1,6 +1,6 @@
[[[SERVERNAME]]] - Email Verification
Hi [[[USERNAME]]], [[[SERVERNAME]]] ([[[SERVERURL]]]) is performing an e-mail verification. Nagivate to the following link to complete the process:
[[[SERVERNAME]]]-이메일 확인
[[[USERNAME]]] 님, [[[SERVERNAME]]] ([[[SERVERURL]]]) 님이 이메일 확인을 수행하고 있습니다. 프로세스를 완료하려면 다음 링크로 이동하십시오.
~
~[[[SERVERURL]]]/checkmail?c=[[[COOKIE]]]
~
If you did not initiate this request, please ignore this mail.
이 요청을 시작하지 않은 경우이 메일을 무시하십시오.

View File

@ -1,5 +1,5 @@
[[[SERVERNAME]]] - Invitation au compte
An account was created for you on server [[[SERVERNAME]]] ([[[SERVERURL]]]/), you can access it now with username "[[[ACCOUNTNAME]]]" and password "[[[PASSWORD]]]".
Un compte a été créé pour vous sur le serveur [[[[SERVERNAME]]] ([[[SERVERURL]]] /), vous pouvez y accéder maintenant avec le nom d'utilisateur "[[[ACCOUNTNAME]]]" et le mot de passe "[[[MOT DE PASSE] ]] ".
~
Meilleures salutations,
~[[[USERNAME]]]

View File

@ -1,19 +1,19 @@
<html><head></head><body><div>[[[SERVERNAME]]] - Account Invitation</div>
<html><head></head><body><div>[[[SERVERNAME]]] - खाता निमंत्रण</div>
<div style="font-family:Arial,Helvetica,sans-serif">
<table style="background-color:#003366;color:lightgray;width:100%" cellpadding="8">
<tbody><tr>
<td>
<b style="font-size:20px;font-family:Arial,Helvetica,sans-serif">[[[SERVERNAME]]] - Account Invitation</b>
<b style="font-size:20px;font-family:Arial,Helvetica,sans-serif">[[[SERVERNAME]]] - खाता निमंत्रण</b>
</td>
</tr>
</tbody></table>
<p>An account was created for you on server <a href="[[[SERVERURL]]]" notrans="1">[[[SERVERNAME]]]</a>, you can access it now with:</p>
<p>सर्वर पर आपके लिए एक खाता बनाया गया था <a href="[[[SERVERURL]]]" notrans="1">[[[SERVERNAME]]]</a>, आप इसे अभी एक्सेस कर सकते हैं:</p>
<p>
&nbsp;&nbsp;&nbsp;उपयोगकर्ता नाम: <b notrans="1">[[[ACCOUNTNAME]]]</b><br>
&nbsp;&nbsp;&nbsp;कुंजिका: <b notrans="1">[[[PASSWORD]]]</b>
</p>
Best regards,
सादर,
<br>
[[[USERNAME]]]
[[[उपयोगकर्ता नाम]]]
<br>
</div></body></html>

View File

@ -1,5 +1,5 @@
[[[SERVERNAME]]] - Account Invitation
An account was created for you on server [[[SERVERNAME]]] ([[[SERVERURL]]]/), you can access it now with username "[[[ACCOUNTNAME]]]" and password "[[[PASSWORD]]]".
[[[SERVERNAME]]] - खाता निमंत्रण
सर्वर [[[SERVERNAME]]] ([[[SERVERURL]]] /) पर आपके लिए एक खाता बनाया गया था, आप इसे अब उपयोगकर्ता नाम "[[[ACCOUNTNAME]]]]" और पासवर्ड "[[PASSWORD] के साथ एक्सेस कर सकते हैं। ]] "।
~
Best regards,
सादर,
~[[[USERNAME]]]

View File

@ -1,19 +1,19 @@
<html><head></head><body><div>[[[SERVERNAME]]] - Account Invitation</div>
<html><head></head><body><div>[[[SERVERNAME]]]-계정 초대</div>
<div style="font-family:Arial,Helvetica,sans-serif">
<table style="background-color:#003366;color:lightgray;width:100%" cellpadding="8">
<tbody><tr>
<td>
<b style="font-size:20px;font-family:Arial,Helvetica,sans-serif">[[[SERVERNAME]]] - Account Invitation</b>
<b style="font-size:20px;font-family:Arial,Helvetica,sans-serif">[[[SERVERNAME]]]-계정 초대</b>
</td>
</tr>
</tbody></table>
<p>An account was created for you on server <a href="[[[SERVERURL]]]" notrans="1">[[[SERVERNAME]]]</a>, you can access it now with:</p>
<p>서버에서 계정이 생성되었습니다 <a href="[[[SERVERURL]]]" notrans="1">[[[SERVERNAME]]]</a>을 통해 다음에 액세스 할 수 있습니다.</p>
<p>
&nbsp;&nbsp;&nbsp;사용자 이름: <b notrans="1">[[[ACCOUNTNAME]]]</b><br>
&nbsp;&nbsp;&nbsp;암호: <b notrans="1">[[[PASSWORD]]]</b>
</p>
Best regards,
친애하는,
<br>
[[[USERNAME]]]
[[[사용자 이름]]]
<br>
</div></body></html>

View File

@ -1,5 +1,5 @@
[[[SERVERNAME]]] - Account Invitation
An account was created for you on server [[[SERVERNAME]]] ([[[SERVERURL]]]/), you can access it now with username "[[[ACCOUNTNAME]]]" and password "[[[PASSWORD]]]".
[[[SERVERNAME]]]-계정 초대
서버 [[[SERVERNAME]]] ([[[SERVERURL]]] /)에서 계정이 생성되었습니다. 사용자 이름 "[[[계정 이름]]]"및 비밀번호 "[[[비밀번호] ]] ".
~
Best regards,
친애하는,
~[[[USERNAME]]]

View File

@ -1,5 +1,5 @@
[[[SERVERNAME]]]-帐户邀请
An account was created for you on server [[[SERVERNAME]]] ([[[SERVERURL]]]/), you can access it now with username "[[[ACCOUNTNAME]]]" and password "[[[PASSWORD]]]".
已在服务器[[[SERVERNAME]]][[[SERVERURL]]] /)上为您创建了一个帐户,您现在可以使用用户名“ [[[ACCOUNTNAME]]]”和密码“ [[[PASSWORD] ]]”。
~
最好的祝福,
~[[[USERNAME]]]

View File

@ -1,12 +1,12 @@
<html><head></head><body><div>[[[SERVERNAME]]] - Account Login</div>
<html><head></head><body><div>[[[SERVERNAME]]] - खाता लॉगिन</div>
<div style="font-family:Arial,Helvetica,sans-serif">
<table style="background-color:#003366;color:lightgray;width:100%" cellpadding="8">
<tbody><tr>
<td>
<b style="font-size:20px;font-family:Arial,Helvetica,sans-serif">[[[SERVERNAME]]] - Account Login</b>
<b style="font-size:20px;font-family:Arial,Helvetica,sans-serif">[[[SERVERNAME]]] - खाता लॉगिन</b>
</td>
</tr>
</tbody></table>
<p>Your login token is: [[[TOKEN]]]</p>
<p>This token can only be used once and is valid for 5 minutes.</p>
<p>आपका लॉगिन टोकन है: [[[टोकन]]]</p>
<p>यह टोकन केवल एक बार उपयोग किया जा सकता है और 5 मिनट के लिए वैध है।</p>
</div></body></html>

View File

@ -1,4 +1,4 @@
[[[SERVERNAME]]] - Account Login
Your login token is: [[[TOKEN]]]
[[[SERVERNAME]]] - खाता लॉगिन
आपका लॉगिन टोकन है: [[[टोकन]]]
~
This token can only be used once and is valid for 5 minutes.
यह टोकन केवल एक बार उपयोग किया जा सकता है और 5 मिनट के लिए वैध है।

View File

@ -1,12 +1,12 @@
<html><head></head><body><div>[[[SERVERNAME]]] - Account Login</div>
<html><head></head><body><div>[[[SERVERNAME]]]-계정 로그인</div>
<div style="font-family:Arial,Helvetica,sans-serif">
<table style="background-color:#003366;color:lightgray;width:100%" cellpadding="8">
<tbody><tr>
<td>
<b style="font-size:20px;font-family:Arial,Helvetica,sans-serif">[[[SERVERNAME]]] - Account Login</b>
<b style="font-size:20px;font-family:Arial,Helvetica,sans-serif">[[[SERVERNAME]]]-계정 로그인</b>
</td>
</tr>
</tbody></table>
<p>Your login token is: [[[TOKEN]]]</p>
<p>This token can only be used once and is valid for 5 minutes.</p>
<p>귀하의 로그인 토큰은 [[[TOKEN]]]입니다.</p>
<p>이 토큰은 한 번만 사용할 수 있으며 5 분 동안 유효합니다.</p>
</div></body></html>

View File

@ -1,4 +1,4 @@
[[[SERVERNAME]]] - Account Login
Your login token is: [[[TOKEN]]]
[[[SERVERNAME]]]-계정 로그인
귀하의 로그인 토큰은 [[[TOKEN]]]입니다.
~
This token can only be used once and is valid for 5 minutes.
이 토큰은 한 번만 사용할 수 있으며 5 분 동안 유효합니다.

View File

@ -1,15 +1,15 @@
<html><head></head><body><div>[[[SERVERNAME]]] - Account Reset</div>
<html><head></head><body><div>[[[SERVERNAME]]] - खाता रीसेट</div>
<div style="font-family:Arial,Helvetica,sans-serif">
<table style="background-color:#003366;color:lightgray;width:100%" cellpadding="8">
<tbody><tr>
<td>
<b style="font-size:20px;font-family:Arial,Helvetica,sans-serif">[[[SERVERNAME]]] - Verification</b>
<b style="font-size:20px;font-family:Arial,Helvetica,sans-serif">[[[SERVERNAME]] - सत्यापन</b>
</td>
</tr>
</tbody></table>
<p>Hi [[[USERNAME]]], <a href="[[[SERVERURL]]]">[[[SERVERNAME]]]</a> is requesting an account password reset, click on the following link to complete the process.</p>
<p>हाय [[[USERNAME]]], <a href="[[[SERVERURL]]]">[[[सर्वर का नाम]]]</a> खाता पासवर्ड रीसेट का अनुरोध कर रहा है, प्रक्रिया पूरी करने के लिए निम्न लिंक पर क्लिक करें।</p>
<p style="margin-left:30px">
<a href="[[[SERVERURL]]]/checkmail?c=[[[COOKIE]]]">Click here to reset your account password.</a>
<a href="[[[SERVERURL]]]/checkmail?c=[[[COOKIE]]]">अपना खाता पासवर्ड रीसेट करने के लिए यहां क्लिक करें।</a>
</p>
If you did not initiate this request, please ignore this mail.
यदि आपने यह अनुरोध आरंभ नहीं किया है, तो कृपया इस मेल को अनदेखा करें।
</div></body></html>

View File

@ -1,6 +1,6 @@
[[[SERVERNAME]]] - Account Reset
Hi [[[USERNAME]]], [[[SERVERNAME]]] ([[[SERVERURL]]]) is requesting an account password reset. Nagivate to the following link to complete the process:
[[[SERVERNAME]]] - खाता रीसेट
हाय [[[USERNAME]]], [[[SERVERNAME]]] ([[[SERVERURL]]] से खाता पासवर्ड रीसेट करने का अनुरोध किया जा रहा है। प्रक्रिया को पूरा करने के लिए निम्नलिखित लिंक को बताएं:
~
~[[[SERVERURL]]]/checkmail?c=[[[COOKIE]]]
~
If you did not initiate this request, please ignore this mail.
यदि आपने यह अनुरोध आरंभ नहीं किया है, तो कृपया इस मेल को अनदेखा करें।

View File

@ -1,15 +1,15 @@
<html><head></head><body><div>[[[SERVERNAME]]] - Account Reset</div>
<html><head></head><body><div>[[[SERVERNAME]]]-계정 재설정</div>
<div style="font-family:Arial,Helvetica,sans-serif">
<table style="background-color:#003366;color:lightgray;width:100%" cellpadding="8">
<tbody><tr>
<td>
<b style="font-size:20px;font-family:Arial,Helvetica,sans-serif">[[[SERVERNAME]]] - Verification</b>
<b style="font-size:20px;font-family:Arial,Helvetica,sans-serif">[[[SERVERNAME]]]-확인</b>
</td>
</tr>
</tbody></table>
<p>Hi [[[USERNAME]]], <a href="[[[SERVERURL]]]">[[[SERVERNAME]]]</a> is requesting an account password reset, click on the following link to complete the process.</p>
<p>[[[USERNAME]]], 안녕하세요. <a href="[[[SERVERURL]]]">[[[서버 이름]]]</a> 계정 비밀번호 재설정을 요청하는 경우 다음 링크를 클릭하여 프로세스를 완료하십시오.</p>
<p style="margin-left:30px">
<a href="[[[SERVERURL]]]/checkmail?c=[[[COOKIE]]]">Click here to reset your account password.</a>
<a href="[[[SERVERURL]]]/checkmail?c=[[[COOKIE]]]">계정 비밀번호를 재설정하려면 여기를 클릭하십시오.</a>
</p>
If you did not initiate this request, please ignore this mail.
이 요청을 시작하지 않은 경우이 메일을 무시하십시오.
</div></body></html>

View File

@ -1,6 +1,6 @@
[[[SERVERNAME]]] - Account Reset
Hi [[[USERNAME]]], [[[SERVERNAME]]] ([[[SERVERURL]]]) is requesting an account password reset. Nagivate to the following link to complete the process:
[[[SERVERNAME]]]-계정 재설정
[[[USERNAME]]] 님, [[[SERVERNAME]]] ([[[SERVERURL]]]) 님이 계정 비밀번호 재설정을 요청하고 있습니다. 프로세스를 완료하려면 다음 링크로 이동하십시오.
~
~[[[SERVERURL]]]/checkmail?c=[[[COOKIE]]]
~
If you did not initiate this request, please ignore this mail.
이 요청을 시작하지 않은 경우이 메일을 무시하십시오.

View File

@ -1,42 +1,42 @@
<html><head></head><body><div>[[[SERVERNAME]]] - Invitation</div>
<html><head></head><body><div>[[[SERVERNAME]]] - निमंत्रण</div>
<div style="font-family:Arial,Helvetica,sans-serif">
<table style="background-color:#003366;color:lightgray;width:100%" cellpadding="8">
<tbody><tr>
<td>
<b style="font-size:20px;font-family:Arial,Helvetica,sans-serif">[[[SERVERNAME]]] - Agent Installation</b>
<b style="font-size:20px;font-family:Arial,Helvetica,sans-serif">[[[SERVERNAME]]] - एजेंट स्थापना</b>
</td>
</tr>
</tbody></table>
<area-name>
<p>
Hello [[[NAME]]],
नमस्कार [[[NAME]]],
</p>
</area-name>
<p>User [[[USERNAME]]] on server <a href="[[[SERVERURL]]]">[[[SERVERNAME]]]</a> is requesting you to install software to start a remote control session.</p>
<p>उपयोगकर्ता [[[USERNAME]]] सर्वर पर <a href="[[[SERVERURL]]]">[[[सर्वर का नाम]]]</a> रिमोट कंट्रोल सेशन शुरू करने के लिए आपको सॉफ्टवेयर इंस्टॉल करने का अनुरोध कर रहा है।</p>
<area-msg>
<p>
Message: <b notrans="1">[[[MSG]]]</b>
संदेश: <b notrans="1">[[[MSG]]]</b>
</p>
</area-msg>
<area-windows>
<p style="margin-left:30px">
<a href="[[[SERVERURL]]]/meshagents?id=3&amp;meshid=[[[MESHIDHEX]]]&amp;tag=mailto:[[[EMAIL]]]&amp;installflags=[[[INSTALLFLAGS]]]">Click here to download the MeshAgent for Windows.</a>
<a href="[[[SERVERURL]]]/meshagents?id=3&amp;meshid=[[[MESHIDHEX]]]&amp;tag=mailto:[[[EMAIL]]]&amp;installflags=[[[INSTALLFLAGS]]]">विंडोज के लिए मेशजेंट को डाउनलोड करने के लिए यहां क्लिक करें।</a>
</p>
</area-windows>
<area-osx>
<p style="margin-left:30px"><a href="[[[SERVERURL]]]/meshagents?id=16&amp;meshid=[[[MESHIDHEX]]]&amp;tag=mailto:[[[EMAIL]]]&amp;installflags=[[[INSTALLFLAGS]]]">Click here to download the MeshAgent for Apple OSX.</a></p>
<p style="margin-left:30px"><a href="[[[SERVERURL]]]/meshagents?id=16&amp;meshid=[[[MESHIDHEX]]]&amp;tag=mailto:[[[EMAIL]]]&amp;installflags=[[[INSTALLFLAGS]]]">Apple OSX के लिए मेशजेंट को डाउनलोड करने के लिए यहां क्लिक करें।</a></p>
</area-osx>
<area-linux>
<p>
For Linux, cut &amp; paste the following in a terminal to install the agent:<br>
लिनक्स में, एजेंट को स्थापित करने के लिए टर्मिनल में निम्नलिखित को काटें और चिपकाएँ:<br>
</p><pre style="margin-left:30px" notrans="1">wget -q "[[[SERVERURL]]]/meshagents?script=1" --no-check-certificate -O ./meshinstall.sh &amp;&amp; chmod 755 ./meshinstall.sh &amp;&amp; sudo ./meshinstall.sh [[[SERVERURL]]] \'[[[MESHIDHEX]]]\'</pre>
<p></p>
</area-linux>
<area-link>
<p>
To install the software, <a href="[[[SERVERURL]]][[[LINKURL]]]">click here</a> and follow the instructions.
सॉफ़्टवेयर स्थापित करने के लिए, <a href="[[[SERVERURL]]][[[LINKURL]]]">यहाँ क्लिक करें</a> और निर्देशों का पालन करें।
</p>
</area-link>
<p>If you did not initiate this request, please ignore this mail.</p>
Best regards,<br>[[[USERNAME]]]<br>
<p>यदि आपने यह अनुरोध आरंभ नहीं किया है, तो कृपया इस मेल को अनदेखा करें।</p>
सादर,<br>[[[उपयोगकर्ता नाम]]]<br>
</div></body></html>

View File

@ -1,35 +1,35 @@
[[[SERVERNAME]]] - Invitation
[[[SERVERNAME]]] - निमंत्रण
~<area-name>
Hello [[[NAME]]],
नमस्कार [[[NAME]]],
~</area-name>
User [[[USERNAME]]] on server [[[SERVERNAME]]] ([[[SERVERURL]]]/) is requesting you install software to start the remote control session.
उपयोगकर्ता [[[USERNAME]]] सर्वर पर [[[SERVERNAME]]] ([[[SERVERURL]]] /) आपसे रिमोट कंट्रोल सेशन शुरू करने के लिए सॉफ़्टवेयर स्थापित करने का अनुरोध कर रहा है।
~<area-msg>
~
Message: [[[MSG]]]
संदेश: [[[एमएसजी]]]
~
~</area-msg>
~<area-windows>
For Windows, nagivate to the following link to complete the process:
विंडोज के लिए, प्रक्रिया को पूरा करने के लिए निम्नलिखित लिंक पर जाएं:
~
~[[[SERVERURL]]]/meshagents?id=3&meshid=[[[MESHIDHEX]]]&tag=mailto:[[[EMAIL]]]&installflags=[[[INSTALLFLAGS]]]
~
~</area-windows>
~<area-osx>
For Apple OSX, nagivate to the following link to complete the process:
Apple OSX के लिए, इस प्रक्रिया को पूरा करने के लिए निम्नलिखित लिंक पर जाएं:
~
~[[[SERVERURL]]]/meshagents?id=16&meshid=[[[MESHIDHEX]]]&tag=mailto:[[[EMAIL]]]&installflags=[[[INSTALLFLAGS]]]
~
~</area-osx>
~<area-linux>
For Linux, cut & paste the following in a terminal to install the agent:
लिनक्स में, एजेंट को स्थापित करने के लिए टर्मिनल में निम्नलिखित को काटें और चिपकाएँ:
~
~wget -q "[[[SERVERURL]]]/meshagents?script=1" --no-check-certificate -O ./meshinstall.sh && chmod 755 ./meshinstall.sh && sudo ./meshinstall.sh [[[SERVERURL]]] '[[[MESHIDHEX]]]'
~
~</area-linux>
~<area-link>
To install the software, navigate to [[[SERVERURL]]][[[LINKURL]]] and follow the instructions.
सॉफ़्टवेयर को स्थापित करने के लिए, [[[SERVERURL]]] [[[LINKURL]]] पर जाएँ और निर्देशों का पालन करें।
~</area-link>
If you did not initiate this request, please ignore this mail.
यदि आपने यह अनुरोध आरंभ नहीं किया है, तो कृपया इस मेल को अनदेखा करें।
~
Best regards,
सादर,
~[[[USERNAME]]]

View File

@ -1,42 +1,42 @@
<html><head></head><body><div>[[[SERVERNAME]]] - Invitation</div>
<html><head></head><body><div>[[[SERVERNAME]]]-초대</div>
<div style="font-family:Arial,Helvetica,sans-serif">
<table style="background-color:#003366;color:lightgray;width:100%" cellpadding="8">
<tbody><tr>
<td>
<b style="font-size:20px;font-family:Arial,Helvetica,sans-serif">[[[SERVERNAME]]] - Agent Installation</b>
<b style="font-size:20px;font-family:Arial,Helvetica,sans-serif">[[[SERVERNAME]]]-에이전트 설치</b>
</td>
</tr>
</tbody></table>
<area-name>
<p>
Hello [[[NAME]]],
[[[NAME]]], 안녕하세요.
</p>
</area-name>
<p>User [[[USERNAME]]] on server <a href="[[[SERVERURL]]]">[[[SERVERNAME]]]</a> is requesting you to install software to start a remote control session.</p>
<p>서버의 사용자 [[[USERNAME]]] <a href="[[[SERVERURL]]]">[[[서버 이름]]]</a> 원격 제어 세션을 시작하기 위해 소프트웨어를 설치하도록 요청하고 있습니다.</p>
<area-msg>
<p>
Message: <b notrans="1">[[[MSG]]]</b>
메시지: <b notrans="1">[[[MSG]]]</b>
</p>
</area-msg>
<area-windows>
<p style="margin-left:30px">
<a href="[[[SERVERURL]]]/meshagents?id=3&amp;meshid=[[[MESHIDHEX]]]&amp;tag=mailto:[[[EMAIL]]]&amp;installflags=[[[INSTALLFLAGS]]]">Click here to download the MeshAgent for Windows.</a>
<a href="[[[SERVERURL]]]/meshagents?id=3&amp;meshid=[[[MESHIDHEX]]]&amp;tag=mailto:[[[EMAIL]]]&amp;installflags=[[[INSTALLFLAGS]]]">Windows 용 MeshAgent를 다운로드하려면 여기를 클릭하십시오.</a>
</p>
</area-windows>
<area-osx>
<p style="margin-left:30px"><a href="[[[SERVERURL]]]/meshagents?id=16&amp;meshid=[[[MESHIDHEX]]]&amp;tag=mailto:[[[EMAIL]]]&amp;installflags=[[[INSTALLFLAGS]]]">Click here to download the MeshAgent for Apple OSX.</a></p>
<p style="margin-left:30px"><a href="[[[SERVERURL]]]/meshagents?id=16&amp;meshid=[[[MESHIDHEX]]]&amp;tag=mailto:[[[EMAIL]]]&amp;installflags=[[[INSTALLFLAGS]]]">Apple OSX 용 MeshAgent를 다운로드하려면 여기를 클릭하십시오.</a></p>
</area-osx>
<area-linux>
<p>
For Linux, cut &amp; paste the following in a terminal to install the agent:<br>
Linux의 경우 터미널에서 다음을 잘라내어 붙여 넣어 에이전트를 설치하십시오.<br>
</p><pre style="margin-left:30px" notrans="1">wget -q "[[[SERVERURL]]]/meshagents?script=1" --no-check-certificate -O ./meshinstall.sh &amp;&amp; chmod 755 ./meshinstall.sh &amp;&amp; sudo ./meshinstall.sh [[[SERVERURL]]] \'[[[MESHIDHEX]]]\'</pre>
<p></p>
</area-linux>
<area-link>
<p>
To install the software, <a href="[[[SERVERURL]]][[[LINKURL]]]">click here</a> and follow the instructions.
소프트웨어를 설치하려면 <a href="[[[SERVERURL]]][[[LINKURL]]]">여기를 클릭하십시오</a> 지침을 따르십시오.
</p>
</area-link>
<p>If you did not initiate this request, please ignore this mail.</p>
Best regards,<br>[[[USERNAME]]]<br>
<p>이 요청을 시작하지 않은 경우이 메일을 무시하십시오.</p>
친애하는,<br>[[[사용자 이름]]]<br>
</div></body></html>

View File

@ -1,35 +1,35 @@
[[[SERVERNAME]]] - Invitation
[[[SERVERNAME]]]-초대
~<area-name>
Hello [[[NAME]]],
[[[NAME]]], 안녕하세요.
~</area-name>
User [[[USERNAME]]] on server [[[SERVERNAME]]] ([[[SERVERURL]]]/) is requesting you install software to start the remote control session.
서버 [[[SERVERNAME]]] ([[[SERVERURL]]] /)의 [[[USERNAME]]] 사용자가 원격 제어 세션을 시작하기 위해 소프트웨어를 설치하도록 요청하고 있습니다.
~<area-msg>
~
Message: [[[MSG]]]
메시지 : [[[MSG]]]
~
~</area-msg>
~<area-windows>
For Windows, nagivate to the following link to complete the process:
Windows의 경우 다음 링크로 이동하여 프로세스를 완료하십시오.
~
~[[[SERVERURL]]]/meshagents?id=3&meshid=[[[MESHIDHEX]]]&tag=mailto:[[[EMAIL]]]&installflags=[[[INSTALLFLAGS]]]
~
~</area-windows>
~<area-osx>
For Apple OSX, nagivate to the following link to complete the process:
Apple OSX의 경우 다음 링크로 이동하여 프로세스를 완료하십시오.
~
~[[[SERVERURL]]]/meshagents?id=16&meshid=[[[MESHIDHEX]]]&tag=mailto:[[[EMAIL]]]&installflags=[[[INSTALLFLAGS]]]
~
~</area-osx>
~<area-linux>
For Linux, cut & paste the following in a terminal to install the agent:
Linux의 경우 터미널에서 다음을 잘라내어 붙여 넣어 에이전트를 설치하십시오.
~
~wget -q "[[[SERVERURL]]]/meshagents?script=1" --no-check-certificate -O ./meshinstall.sh && chmod 755 ./meshinstall.sh && sudo ./meshinstall.sh [[[SERVERURL]]] '[[[MESHIDHEX]]]'
~
~</area-linux>
~<area-link>
To install the software, navigate to [[[SERVERURL]]][[[LINKURL]]] and follow the instructions.
소프트웨어를 설치하려면 [[[SERVERURL]]] [[[LINKURL]]]으로 이동하여 지침을 따르십시오.
~</area-link>
If you did not initiate this request, please ignore this mail.
이 요청을 시작하지 않은 경우이 메일을 무시하십시오.
~
Best regards,
친애하는,
~[[[USERNAME]]]

View File

@ -1,2 +1,2 @@
[[0]] verification code is: [[1]]
[[0]] access token is: [[1]]
El código de verificación [[0]] es: [[1]]
[[0]] token de acceso es: [[1]]

View File

@ -1,2 +1,2 @@
[[0]] verification code is: [[1]]
[[0]] access token is: [[1]]
[[0]] le code de vérification est: [[1]]
[[0]] le jeton d'accès est: [[1]]

View File

@ -1,2 +1,2 @@
[[0]] verification code is: [[1]]
[[0]] access token is: [[1]]
[[]] सत्यापन कोड है: [[१]]
[[0]] अभिगमन टोकन है: [[१]]

View File

@ -1,2 +1,2 @@
[[0]] verification code is: [[1]]
[[0]] access token is: [[1]]
[[0]] 인증 코드는 다음과 같습니다. [[1]]
[[0]] 액세스 토큰은 다음과 같습니다. [[1]]

View File

@ -1,2 +1,2 @@
[[0]] verification code is: [[1]]
[[0]] access token is: [[1]]
[[0]]验证码是:[[1]]
[[0]]访问令牌是:[[1]]

File diff suppressed because one or more lines are too long

View File

@ -73,7 +73,7 @@ var CreateAgentRedirect = function (meshserver, module, serverPublicNamePort, au
//console.log(controlMsg);
if ((typeof args != 'undefined') && args.redirtrace) { console.log('RedirRecv', controlMsg); }
if (controlMsg.type == 'console') {
obj.setConsoleMessage(controlMsg.msg);
obj.setConsoleMessage(controlMsg.msg, controlMsg.msgid, controlMsg.msgargs);
} else if ((controlMsg.type == 'rtt') && (typeof controlMsg.time == 'number')) {
obj.latency.current = (new Date().getTime()) - controlMsg.time;
if (obj.latency.callbacks != null) { obj.latency.callback(obj.latency.current); }
@ -92,10 +92,12 @@ var CreateAgentRedirect = function (meshserver, module, serverPublicNamePort, au
}
// Set the console message
obj.setConsoleMessage = function (str) {
obj.setConsoleMessage = function (str, id, args) {
if (obj.consoleMessage == str) return;
obj.consoleMessage = str;
if (obj.onConsoleMessageChange) { obj.onConsoleMessageChange(obj, obj.consoleMessage); }
obj.consoleMessageId = id;
obj.consoleMessageArgs = args;
if (obj.onConsoleMessageChange) { obj.onConsoleMessageChange(obj, obj.consoleMessage, obj.consoleMessageId); }
}
obj.sendCtrlMsg = function (x) { if (obj.ctrlMsgAllowed == true) { if ((typeof args != 'undefined') && args.redirtrace) { console.log('RedirSend', typeof x, x); } try { obj.socket.send(x); } catch (ex) { } } }

File diff suppressed because it is too large Load Diff

View File

@ -5835,6 +5835,16 @@
var autoConnectDesktopTimer = null;
function autoConnectDesktop(e) { if (autoConnectDesktopTimer == null) { autoConnectDesktopTimer = setInterval(function() { connectDesktop(null, 1) }, 1000); } else { clearInterval(autoConnectDesktopTimer); autoConnectDesktopTimer = null; } }
// Used to translate incoming agent console messages
var agentConsoleMessages = [ '', "Waiting for user to grant access...", "Denied", "Failed to start remote terminal session, {0} ({1})" ];
function formatAgentConsoleMessage(msg, msgid, msgargs) {
var r;
if (msgargs == null) { msgargs = []; }
while (msgargs.length < 3) { msgargs.push(''); } // We need to call the format function in a way that works with older browsers and minifier, can't use apply() or ...
if (msgid && (msgid < agentConsoleMessages.length)) { r = EscapeHtml(format(agentConsoleMessages[msgid], (msgargs[0]), (msgargs[1]), (msgargs[2]))); } else { r = EscapeHtml(msg); }
return r.split('\n').join('<br />') + '<br /><br />';
}
function connectDesktop(e, contype, tsid, consent) {
if (xxdialogMode) return;
if ((e != null) && (e.shiftKey != false) && (contype == 3)) { contype = 1; } // If the shift key is not pressed, don't try to ask for session list.
@ -5938,10 +5948,10 @@
desktop.onStateChanged = onDesktopStateChange;
desktop.onConsoleMessageChange = function () {
if (desktop.consoleMessage) {
Q('p11DeskConsoleMsg').innerHTML += EscapeHtml(desktop.consoleMessage).split('\n').join('<br />') + '<br /><br />';
Q('p11DeskConsoleMsg').innerHTML += formatAgentConsoleMessage(desktop.consoleMessage, desktop.consoleMessageId, desktop.consoleMessageArgs);
QV('p11DeskConsoleMsg', true);
if (p11DeskConsoleMsgTimer != null) { clearTimeout(p11DeskConsoleMsgTimer); }
p11DeskConsoleMsgTimer = setTimeout(p11clearConsoleMsg, 8000);
//if (p11DeskConsoleMsgTimer != null) { clearTimeout(p11DeskConsoleMsgTimer); }
//p11DeskConsoleMsgTimer = setTimeout(p11clearConsoleMsg, 8000);
} else {
p11clearConsoleMsg();
}
@ -6792,10 +6802,12 @@
terminal.attemptWebRTC = false; // Never do WebRTC on terminal, because of a race condition we can't do it.
terminal.onConsoleMessageChange = function (server, msg) {
if (terminal.consoleMessage) {
Q('p12TermConsoleMsg').innerHTML += EscapeHtml(terminal.consoleMessage).split('\n').join('<br />') + '<br /><br />';
Q('p12TermConsoleMsg').innerHTML += formatAgentConsoleMessage(terminal.consoleMessage, terminal.consoleMessageId, terminal.consoleMessageArgs);
QV('p12TermConsoleMsg', true);
if (p12TermConsoleMsgTimer != null) { clearTimeout(p12TermConsoleMsgTimer); }
p12TermConsoleMsgTimer = setTimeout(p12clearConsoleMsg, 8000);
//if (p12DeskConsoleMsgTimer != null) { clearTimeout(p12DeskConsoleMsgTimer); }
//p12TermConsoleMsgTimer = setTimeout(p12clearConsoleMsg, 8000);
} else {
p12clearConsoleMsg();
}
};
} else {
@ -6813,10 +6825,12 @@
terminal.onStateChanged = onTerminalStateChange;
terminal.onConsoleMessageChange = function () {
if (terminal.consoleMessage) {
Q('p12TermConsoleMsg').innerHTML += EscapeHtml(terminal.consoleMessage).split('\n').join('<br />') + '<br /><br />';
Q('p12TermConsoleMsg').innerHTML += formatAgentConsoleMessage(terminal.consoleMessage, terminal.consoleMessageId, terminal.consoleMessageArgs);
QV('p12TermConsoleMsg', true);
if (p12TermConsoleMsgTimer != null) { clearTimeout(p12TermConsoleMsgTimer); }
p12TermConsoleMsgTimer = setTimeout(p12clearConsoleMsg, 8000);
//if (p12DeskConsoleMsgTimer != null) { clearTimeout(p12DeskConsoleMsgTimer); }
//p12TermConsoleMsgTimer = setTimeout(p12clearConsoleMsg, 8000);
} else {
p12clearConsoleMsg();
}
}
terminal.Start(terminalNode._id);
@ -6963,10 +6977,12 @@
files.onStateChanged = onFilesStateChange;
files.onConsoleMessageChange = function () {
if (files.consoleMessage) {
Q('p13FilesConsoleMsg').innerHTML += EscapeHtml(files.consoleMessage).split('\n').join('<br />') + '<br /><br />';
Q('p13FilesConsoleMsg').innerHTML += formatAgentConsoleMessage(files.consoleMessage, files.consoleMessageId, files.consoleMessageArgs);
QV('p13FilesConsoleMsg', true);
if (p13FilesConsoleMsgTimer != null) { clearTimeout(p13FilesConsoleMsgTimer); }
p13FilesConsoleMsgTimer = setTimeout(p13clearConsoleMsg, 8000);
//if (p13DeskConsoleMsgTimer != null) { clearTimeout(p13DeskConsoleMsgTimer); }
//p13FilesConsoleMsgTimer = setTimeout(p13clearConsoleMsg, 8000);
} else {
p13clearConsoleMsg();
}
}
files.Start(filesNode._id);