From b27867c7a01a27aa6115a990418f2ad5e91fd9e3 Mon Sep 17 00:00:00 2001 From: AlphaX-Projects <77661270+AlphaX-Projects@users.noreply.github.com> Date: Wed, 13 Apr 2022 16:24:16 +0200 Subject: [PATCH] Translate Browser Page --- qortal-ui-core/language/cn.json | 18 +++++ qortal-ui-core/language/de.json | 18 +++++ qortal-ui-core/language/fr.json | 18 +++++ qortal-ui-core/language/pl.json | 18 +++++ qortal-ui-core/language/sp.json | 18 +++++ qortal-ui-core/language/us.json | 18 +++++ .../plugins/core/qdn/browser/browser.src.js | 73 ++++++++++++++----- 7 files changed, 161 insertions(+), 20 deletions(-) diff --git a/qortal-ui-core/language/cn.json b/qortal-ui-core/language/cn.json index dfbef2fa..b2b0add8 100644 --- a/qortal-ui-core/language/cn.json +++ b/qortal-ui-core/language/cn.json @@ -347,5 +347,23 @@ "pchange23": "Transaction successful!", "pchange24": "Unable to sign and process transaction", "pchange25": "Choose File" + }, + "browserpage": { + "bchange1": "Forward", + "bchange2": "Reload", + "bchange3": "Back to list", + "bchange4": "Delete", + "bchange5": "from node", + "bchange6": "Your browser doesn't support iframes", + "bchange7": "Follow", + "bchange8": "Unfollow", + "bchange9": "Block", + "bchange10": "Unblock", + "bchange11": "Error occurred when trying to follow this registered name. Please try again!", + "bchange12": "Error occurred when trying to unfollow this registered name. Please try again!", + "bchange13": "Error occurred when trying to block this registered name. Please try again!", + "bchange14": "Error occurred when trying to unblock this registered name. Please try again!", + "bchange15": "Can't delete data from followed names. Please unfollow first.", + "bchange16": "Error occurred when trying to delete this resource. Please try again!" } } \ No newline at end of file diff --git a/qortal-ui-core/language/de.json b/qortal-ui-core/language/de.json index 2385d301..2200c7c1 100644 --- a/qortal-ui-core/language/de.json +++ b/qortal-ui-core/language/de.json @@ -347,5 +347,23 @@ "pchange23": "Transaktion Erfolgreich!", "pchange24": "Transaktion kann nicht signiert und verarbeitet werden", "pchange25": "Datei wählen" + }, + "browserpage": { + "bchange1": "Vorwärts", + "bchange2": "Neu laden", + "bchange3": "Zurück zur Liste", + "bchange4": "Lösche", + "bchange5": "von dieser Node", + "bchange6": "Ihr Browser unterstützt keine Iframes", + "bchange7": "Folgen", + "bchange8": "Entfolgen", + "bchange9": "Sperren", + "bchange10": "Entsperren", + "bchange11": "Beim Versuch, diesem registrierten Namen zu folgen, ist ein Fehler aufgetreten. Bitte versuche es erneut!", + "bchange12": "Beim Versuch, diesem registrierten Namen nicht mehr zu folgen, ist ein Fehler aufgetreten. Bitte versuche es erneut!", + "bchange13": "Beim Blockieren dieses registrierten Namens ist ein Fehler aufgetreten. Bitte versuche es erneut!", + "bchange14": "Beim Versuch, diesen registrierten Namen zu entsperren, ist ein Fehler aufgetreten. Bitte versuche es erneut!", + "bchange15": "Daten von verfolgten Namen können nicht gelöscht werden. Bitte zuerst entfolgen.", + "bchange16": "Beim Versuch, diese Ressource zu löschen, ist ein Fehler aufgetreten. Bitte versuche es erneut!" } } \ No newline at end of file diff --git a/qortal-ui-core/language/fr.json b/qortal-ui-core/language/fr.json index fba1f0b1..98309913 100644 --- a/qortal-ui-core/language/fr.json +++ b/qortal-ui-core/language/fr.json @@ -347,5 +347,23 @@ "pchange23": "Transaction successful!", "pchange24": "Unable to sign and process transaction", "pchange25": "Choose File" + }, + "browserpage": { + "bchange1": "Forward", + "bchange2": "Reload", + "bchange3": "Back to list", + "bchange4": "Delete", + "bchange5": "from node", + "bchange6": "Your browser doesn't support iframes", + "bchange7": "Follow", + "bchange8": "Unfollow", + "bchange9": "Block", + "bchange10": "Unblock", + "bchange11": "Error occurred when trying to follow this registered name. Please try again!", + "bchange12": "Error occurred when trying to unfollow this registered name. Please try again!", + "bchange13": "Error occurred when trying to block this registered name. Please try again!", + "bchange14": "Error occurred when trying to unblock this registered name. Please try again!", + "bchange15": "Can't delete data from followed names. Please unfollow first.", + "bchange16": "Error occurred when trying to delete this resource. Please try again!" } } \ No newline at end of file diff --git a/qortal-ui-core/language/pl.json b/qortal-ui-core/language/pl.json index 762fa98e..2efb458a 100644 --- a/qortal-ui-core/language/pl.json +++ b/qortal-ui-core/language/pl.json @@ -347,5 +347,23 @@ "pchange23": "Transaction successful!", "pchange24": "Unable to sign and process transaction", "pchange25": "Choose File" + }, + "browserpage": { + "bchange1": "Forward", + "bchange2": "Reload", + "bchange3": "Back to list", + "bchange4": "Delete", + "bchange5": "from node", + "bchange6": "Your browser doesn't support iframes", + "bchange7": "Follow", + "bchange8": "Unfollow", + "bchange9": "Block", + "bchange10": "Unblock", + "bchange11": "Error occurred when trying to follow this registered name. Please try again!", + "bchange12": "Error occurred when trying to unfollow this registered name. Please try again!", + "bchange13": "Error occurred when trying to block this registered name. Please try again!", + "bchange14": "Error occurred when trying to unblock this registered name. Please try again!", + "bchange15": "Can't delete data from followed names. Please unfollow first.", + "bchange16": "Error occurred when trying to delete this resource. Please try again!" } } diff --git a/qortal-ui-core/language/sp.json b/qortal-ui-core/language/sp.json index 05939240..0b461f05 100644 --- a/qortal-ui-core/language/sp.json +++ b/qortal-ui-core/language/sp.json @@ -347,5 +347,23 @@ "pchange23": "Transaction successful!", "pchange24": "Unable to sign and process transaction", "pchange25": "Choose File" + }, + "browserpage": { + "bchange1": "Forward", + "bchange2": "Reload", + "bchange3": "Back to list", + "bchange4": "Delete", + "bchange5": "from node", + "bchange6": "Your browser doesn't support iframes", + "bchange7": "Follow", + "bchange8": "Unfollow", + "bchange9": "Block", + "bchange10": "Unblock", + "bchange11": "Error occurred when trying to follow this registered name. Please try again!", + "bchange12": "Error occurred when trying to unfollow this registered name. Please try again!", + "bchange13": "Error occurred when trying to block this registered name. Please try again!", + "bchange14": "Error occurred when trying to unblock this registered name. Please try again!", + "bchange15": "Can't delete data from followed names. Please unfollow first.", + "bchange16": "Error occurred when trying to delete this resource. Please try again!" } } \ No newline at end of file diff --git a/qortal-ui-core/language/us.json b/qortal-ui-core/language/us.json index b354076b..bfbec6e5 100644 --- a/qortal-ui-core/language/us.json +++ b/qortal-ui-core/language/us.json @@ -347,5 +347,23 @@ "pchange23": "Transaction successful!", "pchange24": "Unable to sign and process transaction", "pchange25": "Choose File" + }, + "browserpage": { + "bchange1": "Forward", + "bchange2": "Reload", + "bchange3": "Back to list", + "bchange4": "Delete", + "bchange5": "from node", + "bchange6": "Your browser doesn't support iframes", + "bchange7": "Follow", + "bchange8": "Unfollow", + "bchange9": "Block", + "bchange10": "Unblock", + "bchange11": "Error occurred when trying to follow this registered name. Please try again!", + "bchange12": "Error occurred when trying to unfollow this registered name. Please try again!", + "bchange13": "Error occurred when trying to block this registered name. Please try again!", + "bchange14": "Error occurred when trying to unblock this registered name. Please try again!", + "bchange15": "Can't delete data from followed names. Please unfollow first.", + "bchange16": "Error occurred when trying to delete this resource. Please try again!" } } \ No newline at end of file diff --git a/qortal-ui-plugins/plugins/core/qdn/browser/browser.src.js b/qortal-ui-plugins/plugins/core/qdn/browser/browser.src.js index bc3ef8ba..64bcaf7c 100644 --- a/qortal-ui-plugins/plugins/core/qdn/browser/browser.src.js +++ b/qortal-ui-plugins/plugins/core/qdn/browser/browser.src.js @@ -1,6 +1,11 @@ import { LitElement, html, css } from 'lit' import { render } from 'lit/html.js' import { Epml } from '../../../../epml' +import { use, get, translate, translateUnsafeHTML, registerTranslateConfig } from 'lit-translate' + +registerTranslateConfig({ + loader: lang => fetch(`/language/${lang}.json`).then(res => res.json()) +}) import '@material/mwc-button' import '@material/mwc-icon' @@ -178,18 +183,18 @@ class WebBrowser extends LitElement {
- this.goBack()} title="Back" class="address-bar-button">arrow_back_ios - this.goForward()} title="Forward" class="address-bar-button">arrow_forward_ios - this.refresh()} title="Reload" class="address-bar-button">refresh - this.goBackToList()} title="Back to list" class="address-bar-button">home + this.goBack()} title="${translate("general.back")}" class="address-bar-button">arrow_back_ios + this.goForward()} title="${translate("browserpage.bchange1")}" class="address-bar-button">arrow_forward_ios + this.refresh()} title="${translate("browserpage.bchange2")}" class="address-bar-button">refresh + this.goBackToList()} title="${translate("browserpage.bchange3")}" class="address-bar-button">home - this.delete()} title="Delete ${this.service} ${this.name} from node" class="address-bar-button float-right">delete + this.delete()} title="${translate("browserpage.bchange4")} ${this.service} ${this.name} ${translate("browserpage.bchange5")}" class="address-bar-button float-right">delete ${this.renderBlockUnblockButton()} ${this.renderFollowUnfollowButton()}
@@ -200,10 +205,7 @@ class WebBrowser extends LitElement { firstUpdated() { this.changeTheme() - - setInterval(() => { - this.changeTheme(); - }, 100) + this.changeLanguage() window.addEventListener('contextmenu', (event) => { event.preventDefault() @@ -214,6 +216,20 @@ class WebBrowser extends LitElement { 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) { parentEpml.request('closeCopyTextMenu', null) @@ -231,6 +247,17 @@ class WebBrowser 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) + } + } + renderFollowUnfollowButton() { // Only show the follow/unfollow button if we have permission to modify the list on this node if (this.followedNames == null || !Array.isArray(this.followedNames)) { @@ -239,11 +266,11 @@ class WebBrowser extends LitElement { if (this.followedNames.indexOf(this.name) === -1) { // render follow button - return html` this.follow()} title="Follow ${this.name}" class="address-bar-button float-right">add_to_queue` + return html` this.follow()} title="${translate("browserpage.bchange7")} ${this.name}" class="address-bar-button float-right">add_to_queue` } else { // render unfollow button - return html` this.unfollow()} title="Unfollow ${this.name}" class="address-bar-button float-right">remove_from_queue` + return html` this.unfollow()} title="${translate("browserpage.bchange8")} ${this.name}" class="address-bar-button float-right">remove_from_queue` } } @@ -255,11 +282,11 @@ class WebBrowser extends LitElement { if (this.blockedNames.indexOf(this.name) === -1) { // render block button - return html` this.block()} title="Block ${this.name}" class="address-bar-button float-right">block` + return html` this.block()} title="${translate("browserpage.bchange9")} ${this.name}" class="address-bar-button float-right">block` } else { // render unblock button - return html` this.unblock()} title="Unblock ${this.name}" class="address-bar-button float-right">radio_button_unchecked` + return html` this.unblock()} title="${translate("browserpage.bchange10")} ${this.name}" class="address-bar-button float-right">radio_button_unchecked` } } @@ -326,7 +353,8 @@ class WebBrowser extends LitElement { this.followedNames.push(name) } else { - parentEpml.request('showSnackBar', 'Error occurred when trying to follow this registered name. Please try again') + let err1string = get("browserpage.bchange11") + parentEpml.request('showSnackBar', `${err1string}`) } return ret @@ -352,7 +380,8 @@ class WebBrowser extends LitElement { this.followedNames = this.followedNames.filter(item => item != name); } else { - parentEpml.request('showSnackBar', 'Error occurred when trying to unfollow this registered name. Please try again') + let err2string = get("browserpage.bchange12") + parentEpml.request('showSnackBar', `${err2string}`) } return ret @@ -381,7 +410,8 @@ class WebBrowser extends LitElement { this.blockedNames.push(name) } else { - parentEpml.request('showSnackBar', 'Error occurred when trying to block this registered name. Please try again') + let err3string = get("browserpage.bchange13") + parentEpml.request('showSnackBar', `${err3string}`) } return ret @@ -407,7 +437,8 @@ class WebBrowser extends LitElement { this.blockedNames = this.blockedNames.filter(item => item != name); } else { - parentEpml.request('showSnackBar', 'Error occurred when trying to unblock this registered name. Please try again') + let err4string = get("browserpage.bchange14") + parentEpml.request('showSnackBar', `${err4string}`) } return ret @@ -416,7 +447,8 @@ class WebBrowser extends LitElement { async deleteCurrentResource() { if (this.followedNames.indexOf(this.name) != -1) { // Following name - so deleting won't work - parentEpml.request('showSnackBar', "Can't delete data from followed names. Please unfollow first."); + let err5string = get("browserpage.bchange15") + parentEpml.request('showSnackBar', `${err5string}`) return; } @@ -431,7 +463,8 @@ class WebBrowser extends LitElement { this.goBackToList(); } else { - parentEpml.request('showSnackBar', 'Error occurred when trying to delete this resource. Please try again') + let err6string = get("browserpage.bchange16") + parentEpml.request('showSnackBar', `${err6string}`) } return ret