From f1322d7299bbab40aacc62639f85d627dc5165e4 Mon Sep 17 00:00:00 2001 From: AlphaX-Projects <77661270+AlphaX-Projects@users.noreply.github.com> Date: Thu, 14 Apr 2022 14:22:20 +0200 Subject: [PATCH] Translate Puzzle Page --- qortal-ui-core/language/cn.json | 19 ++++ qortal-ui-core/language/de.json | 19 ++++ qortal-ui-core/language/fr.json | 19 ++++ qortal-ui-core/language/pl.json | 19 ++++ qortal-ui-core/language/sp.json | 19 ++++ qortal-ui-core/language/us.json | 19 ++++ .../plugins/core/puzzles/puzzles.src.js | 92 +++++++++++++------ 7 files changed, 179 insertions(+), 27 deletions(-) diff --git a/qortal-ui-core/language/cn.json b/qortal-ui-core/language/cn.json index 7a4cc064..fdd04182 100644 --- a/qortal-ui-core/language/cn.json +++ b/qortal-ui-core/language/cn.json @@ -486,5 +486,24 @@ "gchange51": "Join", "gchange52": "Admin", "gchange53": "Member" + }, + "puzzlepage": { + "pchange1": "Puzzles", + "pchange2": "Reward", + "pchange3": "SOLVED by", + "pchange4": "Name", + "pchange5": "Description", + "pchange6": "Clue / Answer", + "pchange7": "Action", + "pchange8": "Guess", + "pchange9": "Enter your guess to solve this puzzle and win", + "pchange10": "Your guess needs to be 43 or 44 characters and", + "pchange11": "not", + "pchange12": "include 0 (zero), I (upper i), O (upper o) or l (lower L).", + "pchange13": "Your Guess", + "pchange14": "Checking your guess...", + "pchange15": "Submit", + "pchange16": "Guess incorrect!", + "pchange17": "Reward claim submitted - check wallet for reward!" } } \ No newline at end of file diff --git a/qortal-ui-core/language/de.json b/qortal-ui-core/language/de.json index ecd7deda..ff6d1d80 100644 --- a/qortal-ui-core/language/de.json +++ b/qortal-ui-core/language/de.json @@ -486,5 +486,24 @@ "gchange51": "Beitreten", "gchange52": "Administrator", "gchange53": "Mitglied" + }, + "puzzlepage": { + "pchange1": "Rätsel", + "pchange2": "Belohnung", + "pchange3": "GELÖST bei", + "pchange4": "Name", + "pchange5": "Beschreibung", + "pchange6": "Hinweis / Antwort", + "pchange7": "Aktion", + "pchange8": "Erraten", + "pchange9": "Geben Sie Ihre Vermutung ein, um dieses Rätsel zu lösen und zu gewinnen", + "pchange10": "Ihre Vermutung muss 43 oder 44 Zeichen lang sein und", + "pchange11": "keine", + "pchange12": "0 (Null), I (oberes i), O (oberes o) oder l (unteres L) enthalten.", + "pchange13": "Deine Vermutung", + "pchange14": "Prüfe deine Vermutung...", + "pchange15": "Einreichen", + "pchange16": "Vermutung falsch!", + "pchange17": "Prämienanspruch eingereicht - Geldbörse auf Prämie prüfen!" } } \ No newline at end of file diff --git a/qortal-ui-core/language/fr.json b/qortal-ui-core/language/fr.json index f037c15a..6c2f69bb 100644 --- a/qortal-ui-core/language/fr.json +++ b/qortal-ui-core/language/fr.json @@ -486,5 +486,24 @@ "gchange51": "Join", "gchange52": "Admin", "gchange53": "Member" + }, + "puzzlepage": { + "pchange1": "Puzzles", + "pchange2": "Reward", + "pchange3": "SOLVED by", + "pchange4": "Name", + "pchange5": "Description", + "pchange6": "Clue / Answer", + "pchange7": "Action", + "pchange8": "Guess", + "pchange9": "Enter your guess to solve this puzzle and win", + "pchange10": "Your guess needs to be 43 or 44 characters and", + "pchange11": "not", + "pchange12": "include 0 (zero), I (upper i), O (upper o) or l (lower L).", + "pchange13": "Your Guess", + "pchange14": "Checking your guess...", + "pchange15": "Submit", + "pchange16": "Guess incorrect!", + "pchange17": "Reward claim submitted - check wallet for reward!" } } \ No newline at end of file diff --git a/qortal-ui-core/language/pl.json b/qortal-ui-core/language/pl.json index a09fba75..c0f9430d 100644 --- a/qortal-ui-core/language/pl.json +++ b/qortal-ui-core/language/pl.json @@ -486,5 +486,24 @@ "gchange51": "Join", "gchange52": "Admin", "gchange53": "Member" + }, + "puzzlepage": { + "pchange1": "Puzzles", + "pchange2": "Reward", + "pchange3": "SOLVED by", + "pchange4": "Name", + "pchange5": "Description", + "pchange6": "Clue / Answer", + "pchange7": "Action", + "pchange8": "Guess", + "pchange9": "Enter your guess to solve this puzzle and win", + "pchange10": "Your guess needs to be 43 or 44 characters and", + "pchange11": "not", + "pchange12": "include 0 (zero), I (upper i), O (upper o) or l (lower L).", + "pchange13": "Your Guess", + "pchange14": "Checking your guess...", + "pchange15": "Submit", + "pchange16": "Guess incorrect!", + "pchange17": "Reward claim submitted - check wallet for reward!" } } diff --git a/qortal-ui-core/language/sp.json b/qortal-ui-core/language/sp.json index e09916f0..dbcd3c20 100644 --- a/qortal-ui-core/language/sp.json +++ b/qortal-ui-core/language/sp.json @@ -486,5 +486,24 @@ "gchange51": "Join", "gchange52": "Admin", "gchange53": "Member" + }, + "puzzlepage": { + "pchange1": "Puzzles", + "pchange2": "Reward", + "pchange3": "SOLVED by", + "pchange4": "Name", + "pchange5": "Description", + "pchange6": "Clue / Answer", + "pchange7": "Action", + "pchange8": "Guess", + "pchange9": "Enter your guess to solve this puzzle and win", + "pchange10": "Your guess needs to be 43 or 44 characters and", + "pchange11": "not", + "pchange12": "include 0 (zero), I (upper i), O (upper o) or l (lower L).", + "pchange13": "Your Guess", + "pchange14": "Checking your guess...", + "pchange15": "Submit", + "pchange16": "Guess incorrect!", + "pchange17": "Reward claim submitted - check wallet for reward!" } } \ No newline at end of file diff --git a/qortal-ui-core/language/us.json b/qortal-ui-core/language/us.json index 58a585dc..e28811fb 100644 --- a/qortal-ui-core/language/us.json +++ b/qortal-ui-core/language/us.json @@ -486,5 +486,24 @@ "gchange51": "Join", "gchange52": "Admin", "gchange53": "Member" + }, + "puzzlepage": { + "pchange1": "Puzzles", + "pchange2": "Reward", + "pchange3": "SOLVED by", + "pchange4": "Name", + "pchange5": "Description", + "pchange6": "Clue / Answer", + "pchange7": "Action", + "pchange8": "Guess", + "pchange9": "Enter your guess to solve this puzzle and win", + "pchange10": "Your guess needs to be 43 or 44 characters and", + "pchange11": "not", + "pchange12": "include 0 (zero), I (upper i), O (upper o) or l (lower L).", + "pchange13": "Your Guess", + "pchange14": "Checking your guess...", + "pchange15": "Submit", + "pchange16": "Guess incorrect!", + "pchange17": "Reward claim submitted - check wallet for reward!" } } \ No newline at end of file diff --git a/qortal-ui-plugins/plugins/core/puzzles/puzzles.src.js b/qortal-ui-plugins/plugins/core/puzzles/puzzles.src.js index 30ce0aef..522f90ba 100644 --- a/qortal-ui-plugins/plugins/core/puzzles/puzzles.src.js +++ b/qortal-ui-plugins/plugins/core/puzzles/puzzles.src.js @@ -1,6 +1,11 @@ import { LitElement, html, css } from 'lit' import { render } from 'lit/html.js' import { Epml } from '../../../epml.js' +import { use, get, translate, translateUnsafeHTML, registerTranslateConfig } from 'lit-translate' + +registerTranslateConfig({ + loader: lang => fetch(`/language/${lang}.json`).then(res => res.json()) +}) // Not sure if these are imported in the proper way: import nacl from '../../../../qortal-ui-crypto/api/deps/nacl-fast.js' @@ -103,49 +108,50 @@ class Puzzles extends LitElement { return html`
-

Puzzles

+

${translate("puzzlepage.pchange1")}

- { + { if (data.item.isSolved) { - render(html`SOLVED by
${data.item.winner}
`, root) + render(html`${translate("puzzlepage.pchange3")}
${data.item.winner}
`, root) } else { render(html`${data.item.reward} QORT`, root) } }}>
- - - { + + + { render(html`${data.item.clue}`, root) }}> - { + { if (data.item.isSolved) { render(html``, root) } else { - render(html` this.guessPuzzle(data.item)}>queueGuess`, root) + render(html` this.guessPuzzle(data.item)}>queue ${translate("puzzlepage.pchange8")}`, root) } }}>
-
Enter your guess to solve this puzzle and win ${this.selectedPuzzle.reward} QORT:
+
${translate("puzzlepage.pchange9")} ${this.selectedPuzzle.reward} QORT:

-
Name: ${this.selectedPuzzle.name}
-
Description: ${this.selectedPuzzle.description}
+
${translate("puzzlepage.pchange4")}: ${this.selectedPuzzle.name}
+
${translate("puzzlepage.pchange5")}: ${this.selectedPuzzle.description}
Clue: ${this.selectedPuzzle.clue}

-
Your guess needs to be 43 or 44 characters and not include 0 (zero), I (upper i), O (upper o) or l (lower L).
- +
${translate("puzzlepage.pchange10")} ${translate("puzzlepage.pchange11")} ${translate("puzzlepage.pchange12")}
+
- Checking your guess...   + ${translate("puzzlepage.pchange14")}   + alt="Checking puzzle guess" + > @@ -156,15 +162,17 @@ class Puzzles extends LitElement { - Submit + @click=${this.submitPuzzleGuess} + > + ${translate("puzzlepage.pchange15")} - Close + class="red" + > + ${translate("general.close")}
@@ -174,19 +182,30 @@ class Puzzles extends LitElement { firstUpdated() { this.changeTheme() - - setInterval(() => { - this.changeTheme(); - }, 100) + this.changeLanguage() window.addEventListener("contextmenu", (event) => { event.preventDefault(); this._textMenu(event) - }); + }) window.addEventListener("click", () => { parentEpml.request('closeCopyTextMenu', null) - }); + }) + + window.addEventListener('storage', () => { + const checkLanguage = localStorage.getItem('qortalLanguage') + const checkTheme = localStorage.getItem('qortalTheme') + + use(checkLanguage) + + if (checkTheme === 'dark') { + this.theme = 'dark' + } else { + this.theme = 'light' + } + document.querySelector('html').setAttribute('theme', this.theme) + }) window.onkeyup = (e) => { if (e.keyCode === 27) { @@ -377,6 +396,25 @@ class Puzzles extends LitElement { document.querySelector('html').setAttribute('theme', this.theme); } + changeLanguage() { + const checkLanguage = localStorage.getItem('qortalLanguage') + + if (checkLanguage === null || checkLanguage.length === 0) { + localStorage.setItem('qortalLanguage', 'us') + use('us') + } else { + use(checkLanguage) + } + } + + renderErr1Text() { + return html`${translate("puzzlepage.pchange16")}` + } + + renderErr2Text() { + return html`${translate("puzzlepage.pchange17")}` + } + async guessPuzzle(puzzle) { this.selectedPuzzle = puzzle this.shadowRoot.getElementById("puzzleGuess").value = '' @@ -402,7 +440,7 @@ class Puzzles extends LitElement { console.log("Guess '" + _guessAddress + "' vs puzzle's address '" + this.selectedPuzzle.address + "'") if (_guessAddress !== this.selectedPuzzle.address) { this.error = true - this.message = 'Guess incorrect!' + this.message = this.renderErr1Text() this.loading = false return } @@ -436,7 +474,7 @@ class Puzzles extends LitElement { }) if (txnResponse.success) { - this.message = 'Reward claim submitted - check wallet for reward!' + this.message = this.renderErr2Text() } else { this.error = true if (txnResponse.data) {