summaryrefslogtreecommitdiff
path: root/htdocs/public/metranslator
diff options
context:
space:
mode:
Diffstat (limited to 'htdocs/public/metranslator')
-rw-r--r--htdocs/public/metranslator/api/index.ejs31
-rw-r--r--htdocs/public/metranslator/index.ejs195
2 files changed, 0 insertions, 226 deletions
diff --git a/htdocs/public/metranslator/api/index.ejs b/htdocs/public/metranslator/api/index.ejs
deleted file mode 100644
index fa915b4..0000000
--- a/htdocs/public/metranslator/api/index.ejs
+++ /dev/null
@@ -1,31 +0,0 @@
-<%
-
- res.writeHead(200, {'Content-Type': "application/json"});
-
- if (get['t']) {
- if (get['t'] === "en") {
- target = "en";
- } else {
- target = "mt";
- }
- } else {
- res.end();
- }
-
- if (get['u']) {
- text = get['u'];
-
- if (text.length > 500) {
- res.end();
- }
-
- text = text.split("\"").join("''");
- } else {
- res.end();
- }
-
- aw = JSON.parse(child_process.execSync(`cd /mnt/metranslator-api && node index.js api ${target} "${text}"`).toString());
- last = child_process.execSync("cd /mnt/metranslator-api && git log -1 --pretty=format:'%an'").toString()
- aw["system"]["version"] = aw["system"]["version"] + "-" + fs.readFileSync("/mnt/metranslator-api/.git/refs/heads/trunk").toString().substr(0, 8);
- aw["system"]["last_author"] = last;
- aw["call"] = "cd /mnt/metranslator-api && node index.js api {$target} \"{$text}\""; \ No newline at end of file
diff --git a/htdocs/public/metranslator/index.ejs b/htdocs/public/metranslator/index.ejs
deleted file mode 100644
index 3fd8baf..0000000
--- a/htdocs/public/metranslator/index.ejs
+++ /dev/null
@@ -1,195 +0,0 @@
-<% global.title = lang.metranslator.title; %>
-<%- include(`${private}/header.ejs`) %>
-
-<a href="/<%- slang %>">← <%- lang.global.back %></a>
-
-<hr class="rnbwsquare-separator rnbwsquare-outer">
-
-<div class="container" style="min-height: 100vh;margin-left: 5vw;margin-right: 5vw;">
- <style>
- mark {
- background: transparent;
- color: #ff6161;
- padding: 0;
- font-weight: bold;
- }
- </style>
-
- <h2 style="text-align:center;"><%- lang.metranslator.title %></h2>
- <p style="text-align:center;">💡 <i><%- lang.metranslator.tip %></i></p>
- <div style="display:grid;grid-template-columns: 1fr 1fr;background:#111;padding-top:10px;border-radius:5px;">
- <div>
- <a style="cursor:pointer;color: white !important; text-decoration: none;" onclick="switchLangs();"><p
- id="lang-source"
- style="text-align:center;font-weight:bold;">
- <%- lang.metranslator.base %></p></a>
- <textarea maxlength="500" placeholder="<%- lang.metranslator.placeholder %>" onresize="resizeTarget();"
- onchange="process();"
- onkeydown="process();" onkeyup="process();"
- id="text-source"
- style="padding:20px;outline:none;overflow:hidden;resize:none;background: #222;border: none;width: 100%;margin-bottom: -3px;color: #eee;border-right:1px solid #151515;"></textarea>
- <script>document.getElementById('text-source').value = "";</script>
- </div>
- <div>
- <a style="cursor:pointer;color: white !important; text-decoration: none;" onclick="switchLangs();"><p
- id="lang-target"
- style="text-align:center;font-weight:bold;">
- Metroz</p></a>
- <div id="text-target" disabled
- style="padding:20px;outline:none;overflow:hidden;resize: none;background: #222;border: none;width: 100%;margin-bottom: -3px;color: #eee;"></div>
- <script>document.getElementById('text-target').innerText = "";</script>
- </div>
- </div>
- <div id="facts"
- style="background:#424242;padding: 3px 10px;width:100%;border-bottom-left-radius:5px;border-bottom-right-radius:5px;">
- <span id="facts-inner"><%- lang.metranslator.facts %></span>
- </div>
-
- <details style="margin-top:20px;">
- <summary><%- lang.metranslator.insights.title %></summary>
- <ul>
- <li><%- lang.metranslator.insights.name %> <span id="insights-01">n/a</span></li>
- <li><%- lang.metranslator.insights.version %> <span id="insights-02">n/a</span></li>
- <li><%- lang.metranslator.insights.size %> <span id="insights-03">n/a</span></li>
- <li><%- lang.metranslator.insights.time %> <span id="insights-04">n/a</span></li>
- </ul>
- </details>
-</div>
-
-<script>
-
- function switchLangs() {
- if (document.getElementById("text-target").innerHTML === "...") return;
-
- tval = document.getElementById("text-target").innerText;
- sval = document.getElementById("text-source").value;
-
- document.getElementById("text-target").innerText = "...";
- document.getElementById("text-source").value = tval;
-
- if (document.getElementById("lang-target").innerText === "English") {
- document.getElementById("lang-target").innerText = "Metroz";
- document.getElementById("lang-source").innerText = "<%- lang.metranslator.base %>";
- } else {
- document.getElementById("lang-source").innerText = "Metroz";
- document.getElementById("lang-target").innerText = "<%- lang.metranslator.base %>";
- }
-
- translate();
- }
-
- typing = false;
-
- function startTyping() {
- typing = true;
- document.getElementById("facts-inner").innerText = "<%- lang.metranslator.waiting %>";
- document.getElementById("text-target").innerText = "...";
- }
-
- function stopTyping() {
- typing = false;
- translate();
- }
-
- setInterval(() => {
- if (typing) stopTyping();
- }, 2000)
-
- function translate() {
- if (document.getElementById("text-source").value.trim() === "") {
- document.getElementById("facts-inner").innerText = "<%- lang.metranslator.facts %>";
- document.getElementById("text-target").innerText = "";
- return;
- }
-
- document.getElementById("facts-inner").innerText = "<%- lang.metranslator.processing %>";
- document.getElementById("text-target").innerText = "...";
-
- if (document.getElementById("lang-target").innerText === "<%- lang.metranslator.base %>") {
- target = "en";
- } else {
- target = "mt";
- }
-
- document.getElementById("insights-01").innerText = "n/a";
- document.getElementById("insights-02").innerText = "n/a";
- document.getElementById("insights-03").innerText = "n/a";
- document.getElementById("insights-04").innerText = "n/a";
-
- window.fetch("/<%- slang %>/metranslator/api?t=" + target + "&u=" + encodeURI(document.getElementById("text-source").value)).then((a) => {
- a.blob().then((b) => {
- b.text().then((c) => {
- try {
- data = JSON.parse(c);
-
- words = data.output.split(" ");
- newds = [];
- initw = document.getElementById("text-source").value.toLowerCase().split(" ");
-
- for (word of words) {
- if (initw.includes(word)) {
- newds.push("<mark>" + word + "</mark>");
- nothing = "<%- lang.metranslator.nothing %>";
- data.facts.push(nothing.replace("%1", word).replace("%2", document.getElementById("lang-target").innerText))
- } else {
- newds.push(word);
- }
- }
-
- if (data.facts.length > 0) {
- document.getElementById("facts-inner").innerHTML = "<ul style='margin-bottom: 0;margin-top: 0;'><li>" + data.facts.join("</li><li>") + "</li></ul>";
- } else {
- document.getElementById("facts-inner").innerText = "<%- lang.metranslator.facts %>";
- }
-
- document.getElementById("text-target").innerHTML = newds.join(" ");
- } catch (e) {
- console.error(e);
- document.getElementById("text-target").innerHTML = "<%- lang.metranslator.error %>";
- document.getElementById("facts-inner").innerText = "<%- lang.metranslator.facts %>";
- document.getElementById("insights-01").innerText = "n/a";
- document.getElementById("insights-02").innerText = "n/a";
- document.getElementById("insights-03").innerText = "n/a";
- document.getElementById("insights-04").innerText = "n/a";
- }
-
- if (data.system.version.startsWith("-")) {
- document.getElementById("insights-01").innerText = "n/a";
- document.getElementById("insights-02").innerText = "n/a";
- document.getElementById("insights-03").innerText = "n/a";
- document.getElementById("insights-04").innerText = "n/a";
- } else {
- document.getElementById("insights-01").innerText = data.system.name;
- document.getElementById("insights-02").innerText = data.system.version + " (<%- lang.metranslator.update %> " + data.system.last_author + ")";
- document.getElementById("insights-03").innerText = data.system.length + " <%- lang.metranslator.entries %>";
- document.getElementById("insights-04").innerText = data.duration + " ms";
- }
- resizeTarget()
-
- if (data.system.version.startsWith("-")) {
- document.getElementById("insights-01").innerText = "n/a";
- document.getElementById("insights-02").innerText = "n/a";
- document.getElementById("insights-03").innerText = "n/a";
- document.getElementById("insights-04").innerText = "n/a";
- }
- })
- })
- })
- }
-
- function process() {
- resizeTarget()
- startTyping()
- }
-
- function resizeTarget() {
- size = 167;
-
- document.getElementById("text-source").style.height = size + "px";
- document.getElementById("text-target").style.height = size + "px";
- }
-
- resizeTarget()
-
-</script>
-<%- include(`${private}/footer.ejs`) %> \ No newline at end of file