mirror of
https://github.com/Qortal/qortal-ui.git
synced 2025-02-12 02:05:51 +00:00
Translate Name Registration
This commit is contained in:
parent
793fdc41c8
commit
fa60cd9cfa
@ -263,5 +263,25 @@
|
|||||||
"rchange20": "CANNOT CREATE REWARD SHARE! at level",
|
"rchange20": "CANNOT CREATE REWARD SHARE! at level",
|
||||||
"rchange21": "Reward Share Successful!",
|
"rchange21": "Reward Share Successful!",
|
||||||
"rchange22": "Reward Share Removed Successfully!"
|
"rchange22": "Reward Share Removed Successfully!"
|
||||||
|
},
|
||||||
|
"registernamepage": {
|
||||||
|
"nchange1": "Name Registration",
|
||||||
|
"nchange2": "Register Name",
|
||||||
|
"nchange3": "Registered Names",
|
||||||
|
"nchange4": "Avatar",
|
||||||
|
"nchange5": "Name",
|
||||||
|
"nchange6": "Owner",
|
||||||
|
"nchange7": "Action",
|
||||||
|
"nchange8": "No names registered by this account!",
|
||||||
|
"nchange9": "Register a Name!",
|
||||||
|
"nchange10": "Description (optional)",
|
||||||
|
"nchange11": "Doing something delicious",
|
||||||
|
"nchange12": "Registering Name",
|
||||||
|
"nchange13": "The current name registration fee is",
|
||||||
|
"nchange14": "Register",
|
||||||
|
"nchange15": "Set Avatar",
|
||||||
|
"nchange16": "Need Core Update",
|
||||||
|
"nchange17": "Name Already Exists!",
|
||||||
|
"nchange18": "Name Registration Successful!"
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -263,5 +263,25 @@
|
|||||||
"rchange20": "BELOHNUNGSANTEIL KANN NICHT ERSTELLT WERDEN! auf Ebene",
|
"rchange20": "BELOHNUNGSANTEIL KANN NICHT ERSTELLT WERDEN! auf Ebene",
|
||||||
"rchange21": "Belohnungsanteil erfolgreich!",
|
"rchange21": "Belohnungsanteil erfolgreich!",
|
||||||
"rchange22": "Belohnungsanteil wurde erfolgreich entfernt!"
|
"rchange22": "Belohnungsanteil wurde erfolgreich entfernt!"
|
||||||
|
},
|
||||||
|
"registernamepage": {
|
||||||
|
"nchange1": "Namensregistrierung",
|
||||||
|
"nchange2": "Registrieren Sie einen Namen",
|
||||||
|
"nchange3": "Eingetragene Namen",
|
||||||
|
"nchange4": "Avatar",
|
||||||
|
"nchange5": "Name",
|
||||||
|
"nchange6": "Eigentümer",
|
||||||
|
"nchange7": "Aktion",
|
||||||
|
"nchange8": "Keine Namen von diesem Konto registriert!",
|
||||||
|
"nchange9": "Registrieren Sie einen Namen!",
|
||||||
|
"nchange10": "Beschreibung (optional)",
|
||||||
|
"nchange11": "Mache Etwas Leckeres",
|
||||||
|
"nchange12": "Registriere den Name",
|
||||||
|
"nchange13": "Die aktuelle Namensregistrierungsgebühr beträgt",
|
||||||
|
"nchange14": "Registrieren",
|
||||||
|
"nchange15": "Avatar festlegen",
|
||||||
|
"nchange16": "Core-Update erforderlich",
|
||||||
|
"nchange17": "Name existiert bereits!",
|
||||||
|
"nchange18": "Namensregistrierung erfolgreich!"
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -263,5 +263,25 @@
|
|||||||
"rchange20": "CANNOT CREATE REWARD SHARE! at level",
|
"rchange20": "CANNOT CREATE REWARD SHARE! at level",
|
||||||
"rchange21": "Reward Share Successful!",
|
"rchange21": "Reward Share Successful!",
|
||||||
"rchange22": "Reward Share Removed Successfully!"
|
"rchange22": "Reward Share Removed Successfully!"
|
||||||
|
},
|
||||||
|
"registernamepage": {
|
||||||
|
"nchange1": "Name Registration",
|
||||||
|
"nchange2": "Register Name",
|
||||||
|
"nchange3": "Registered Names",
|
||||||
|
"nchange4": "Avatar",
|
||||||
|
"nchange5": "Name",
|
||||||
|
"nchange6": "Owner",
|
||||||
|
"nchange7": "Action",
|
||||||
|
"nchange8": "No names registered by this account!",
|
||||||
|
"nchange9": "Register a Name!",
|
||||||
|
"nchange10": "Description (optional)",
|
||||||
|
"nchange11": "Doing something delicious",
|
||||||
|
"nchange12": "Registering Name",
|
||||||
|
"nchange13": "The current name registration fee is",
|
||||||
|
"nchange14": "Register",
|
||||||
|
"nchange15": "Set Avatar",
|
||||||
|
"nchange16": "Need Core Update",
|
||||||
|
"nchange17": "Name Already Exists!",
|
||||||
|
"nchange18": "Name Registration Successful!"
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -263,5 +263,25 @@
|
|||||||
"rchange20": "CANNOT CREATE REWARD SHARE! at level",
|
"rchange20": "CANNOT CREATE REWARD SHARE! at level",
|
||||||
"rchange21": "Reward Share Successful!",
|
"rchange21": "Reward Share Successful!",
|
||||||
"rchange22": "Reward Share Removed Successfully!"
|
"rchange22": "Reward Share Removed Successfully!"
|
||||||
|
},
|
||||||
|
"registernamepage": {
|
||||||
|
"nchange1": "Name Registration",
|
||||||
|
"nchange2": "Register Name",
|
||||||
|
"nchange3": "Registered Names",
|
||||||
|
"nchange4": "Avatar",
|
||||||
|
"nchange5": "Name",
|
||||||
|
"nchange6": "Owner",
|
||||||
|
"nchange7": "Action",
|
||||||
|
"nchange8": "No names registered by this account!",
|
||||||
|
"nchange9": "Register a Name!",
|
||||||
|
"nchange10": "Description (optional)",
|
||||||
|
"nchange11": "Doing something delicious",
|
||||||
|
"nchange12": "Registering Name",
|
||||||
|
"nchange13": "The current name registration fee is",
|
||||||
|
"nchange14": "Register",
|
||||||
|
"nchange15": "Set Avatar",
|
||||||
|
"nchange16": "Need Core Update",
|
||||||
|
"nchange17": "Name Already Exists!",
|
||||||
|
"nchange18": "Name Registration Successful!"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -263,5 +263,25 @@
|
|||||||
"rchange20": "CANNOT CREATE REWARD SHARE! at level",
|
"rchange20": "CANNOT CREATE REWARD SHARE! at level",
|
||||||
"rchange21": "Reward Share Successful!",
|
"rchange21": "Reward Share Successful!",
|
||||||
"rchange22": "Reward Share Removed Successfully!"
|
"rchange22": "Reward Share Removed Successfully!"
|
||||||
|
},
|
||||||
|
"registernamepage": {
|
||||||
|
"nchange1": "Name Registration",
|
||||||
|
"nchange2": "Register Name",
|
||||||
|
"nchange3": "Registered Names",
|
||||||
|
"nchange4": "Avatar",
|
||||||
|
"nchange5": "Name",
|
||||||
|
"nchange6": "Owner",
|
||||||
|
"nchange7": "Action",
|
||||||
|
"nchange8": "No names registered by this account!",
|
||||||
|
"nchange9": "Register a Name!",
|
||||||
|
"nchange10": "Description (optional)",
|
||||||
|
"nchange11": "Doing something delicious",
|
||||||
|
"nchange12": "Registering Name",
|
||||||
|
"nchange13": "The current name registration fee is",
|
||||||
|
"nchange14": "Register",
|
||||||
|
"nchange15": "Set Avatar",
|
||||||
|
"nchange16": "Need Core Update",
|
||||||
|
"nchange17": "Name Already Exists!",
|
||||||
|
"nchange18": "Name Registration Successful!"
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -263,5 +263,25 @@
|
|||||||
"rchange20": "CANNOT CREATE REWARD SHARE! at level",
|
"rchange20": "CANNOT CREATE REWARD SHARE! at level",
|
||||||
"rchange21": "Reward Share Successful!",
|
"rchange21": "Reward Share Successful!",
|
||||||
"rchange22": "Reward Share Removed Successfully!"
|
"rchange22": "Reward Share Removed Successfully!"
|
||||||
|
},
|
||||||
|
"registernamepage": {
|
||||||
|
"nchange1": "Name Registration",
|
||||||
|
"nchange2": "Register Name",
|
||||||
|
"nchange3": "Registered Names",
|
||||||
|
"nchange4": "Avatar",
|
||||||
|
"nchange5": "Name",
|
||||||
|
"nchange6": "Owner",
|
||||||
|
"nchange7": "Action",
|
||||||
|
"nchange8": "No names registered by this account!",
|
||||||
|
"nchange9": "Register a Name!",
|
||||||
|
"nchange10": "Description (optional)",
|
||||||
|
"nchange11": "Doing something delicious",
|
||||||
|
"nchange12": "Registering Name",
|
||||||
|
"nchange13": "The current name registration fee is",
|
||||||
|
"nchange14": "Register",
|
||||||
|
"nchange15": "Set Avatar",
|
||||||
|
"nchange16": "Need Core Update",
|
||||||
|
"nchange17": "Name Already Exists!",
|
||||||
|
"nchange18": "Name Registration Successful!"
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,6 +1,11 @@
|
|||||||
import { LitElement, html, css } from 'lit'
|
import { LitElement, html, css } from 'lit'
|
||||||
import { render } from 'lit/html.js'
|
import { render } from 'lit/html.js'
|
||||||
import { Epml } from '../../../epml.js'
|
import { Epml } from '../../../epml.js'
|
||||||
|
import { use, translate, translateUnsafeHTML, registerTranslateConfig } from 'lit-translate'
|
||||||
|
|
||||||
|
registerTranslateConfig({
|
||||||
|
loader: lang => fetch(`/language/${lang}.json`).then(res => res.json())
|
||||||
|
})
|
||||||
|
|
||||||
import '@material/mwc-icon'
|
import '@material/mwc-icon'
|
||||||
import '@material/mwc-button'
|
import '@material/mwc-button'
|
||||||
@ -94,49 +99,49 @@ class NameRegistration extends LitElement {
|
|||||||
return html`
|
return html`
|
||||||
<div id="name-registration-page">
|
<div id="name-registration-page">
|
||||||
<div style="min-height:48px; display: flex; padding-bottom: 6px; margin: 2px;">
|
<div style="min-height:48px; display: flex; padding-bottom: 6px; margin: 2px;">
|
||||||
<h2 style="margin: 0; flex: 1; padding-top: .1em; display: inline;">Name Registration</h2>
|
<h2 style="margin: 0; flex: 1; padding-top: .1em; display: inline;">${translate("registernamepage.nchange1")}</h2>
|
||||||
<mwc-button style="float:right;" @click=${() => this.shadowRoot.querySelector('#registerNameDialog').show()}><mwc-icon>add</mwc-icon>Register Name</mwc-button>
|
<mwc-button style="float:right;" @click=${() => this.shadowRoot.querySelector('#registerNameDialog').show()}><mwc-icon>add</mwc-icon>${translate("registernamepage.nchange2")}</mwc-button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="divCard">
|
<div class="divCard">
|
||||||
<h3 style="margin: 0; margin-bottom: 1em; text-align: center;">Registered Names</h3>
|
<h3 style="margin: 0; margin-bottom: 1em; text-align: center;">${translate("registernamepage.nchange3")}</h3>
|
||||||
<vaadin-grid theme="large" id="namesGrid" ?hidden="${this.isEmptyArray(this.names)}" aria-label="Names" .items="${this.names}" all-rows-visible>
|
<vaadin-grid theme="large" id="namesGrid" ?hidden="${this.isEmptyArray(this.names)}" aria-label="Names" .items="${this.names}" all-rows-visible>
|
||||||
<vaadin-grid-column width="5rem" flex-grow="0" header="Avatar" .renderer=${(root, column, data) => {
|
<vaadin-grid-column width="5rem" flex-grow="0" header="${translate("registernamepage.nchange4")}" .renderer=${(root, column, data) => {
|
||||||
render(html`${this.renderAvatar(data.item)}`, root)
|
render(html`${this.renderAvatar(data.item)}`, root)
|
||||||
}}></vaadin-grid-column>
|
}}></vaadin-grid-column>
|
||||||
<vaadin-grid-column path="name"></vaadin-grid-column>
|
<vaadin-grid-column header="${translate("registernamepage.nchange5")}" path="name"></vaadin-grid-column>
|
||||||
<vaadin-grid-column path="owner"></vaadin-grid-column>
|
<vaadin-grid-column header="${translate("registernamepage.nchange6")}" path="owner"></vaadin-grid-column>
|
||||||
<vaadin-grid-column width="12rem" flex-grow="0" header="Action" .renderer=${(root, column, data) => {
|
<vaadin-grid-column width="14rem" flex-grow="0" header="${translate("registernamepage.nchange7")}" .renderer=${(root, column, data) => {
|
||||||
render(html`${this.renderAvatarButton(data.item)}`, root)
|
render(html`${this.renderAvatarButton(data.item)}`, root)
|
||||||
}}></vaadin-grid-column>
|
}}></vaadin-grid-column>
|
||||||
</vaadin-grid>
|
</vaadin-grid>
|
||||||
${this.isEmptyArray(this.names) ? html`
|
${this.isEmptyArray(this.names) ? html`
|
||||||
<span style="color: var(--black);">No names registered by this account!</span>
|
<span style="color: var(--black);">${translate("registernamepage.nchange8")}</span>
|
||||||
`: ''}
|
`: ''}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Register Name Dialog -->
|
<!-- Register Name Dialog -->
|
||||||
<mwc-dialog id="registerNameDialog" scrimClickAction="${this.registerNameLoading ? '' : 'close'}">
|
<mwc-dialog id="registerNameDialog" scrimClickAction="${this.registerNameLoading ? '' : 'close'}">
|
||||||
<div>Register a Name!</div>
|
<div>${translate("registernamepage.nchange9")}</div>
|
||||||
<br>
|
<br>
|
||||||
<mwc-textfield style="width:100%;" ?disabled="${this.registerNameLoading}" label="Name" id="nameInput"></mwc-textfield>
|
<mwc-textfield style="width:100%;" ?disabled="${this.registerNameLoading}" label="${translate("registernamepage.nchange5")}" id="nameInput"></mwc-textfield>
|
||||||
<p style="margin-bottom:0;">
|
<p style="margin-bottom:0;">
|
||||||
<mwc-textfield style="width:100%;" ?disabled="${this.registerNameLoading}" label="Description (optional)" id="descInput"></mwc-textfield>
|
<mwc-textfield style="width:100%;" ?disabled="${this.registerNameLoading}" label="${translate("registernamepage.nchange10")}" id="descInput"></mwc-textfield>
|
||||||
</p>
|
</p>
|
||||||
<div style="text-align:right; height:36px;">
|
<div style="text-align:right; height:36px;">
|
||||||
<span ?hidden="${!this.registerNameLoading}">
|
<span ?hidden="${!this.registerNameLoading}">
|
||||||
<!-- loading message -->
|
<!-- loading message -->
|
||||||
Doing something delicious
|
${translate("registernamepage.nchange11")}
|
||||||
<paper-spinner-lite
|
<paper-spinner-lite
|
||||||
style="margin-top:12px;"
|
style="margin-top:12px;"
|
||||||
?active="${this.registerNameLoading}"
|
?active="${this.registerNameLoading}"
|
||||||
alt="Registering Name"></paper-spinner-lite>
|
alt="${translate("registernamepage.nchange12")}"></paper-spinner-lite>
|
||||||
</span>
|
</span>
|
||||||
<span ?hidden=${this.message === ''} style="${this.error ? 'color:red;' : 'color:green;'}">
|
<span ?hidden=${this.message === ''} style="${this.error ? 'color:red;' : 'color:green;'}">
|
||||||
${this.message}
|
${this.message}
|
||||||
</span><br>
|
</span><br>
|
||||||
<span>
|
<span>
|
||||||
<b>The current name registration fee is ${this.fee} QORT.</b>
|
<b>${translate("registernamepage.nchange13")} ${this.fee} QORT.</b>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -145,14 +150,15 @@ class NameRegistration extends LitElement {
|
|||||||
slot="primaryAction"
|
slot="primaryAction"
|
||||||
@click=${this.registerName}
|
@click=${this.registerName}
|
||||||
>
|
>
|
||||||
Register
|
${translate("registernamepage.nchange14")}
|
||||||
</mwc-button>
|
</mwc-button>
|
||||||
<mwc-button
|
<mwc-button
|
||||||
?disabled="${this.registerNameLoading}"
|
?disabled="${this.registerNameLoading}"
|
||||||
slot="secondaryAction"
|
slot="secondaryAction"
|
||||||
dialogAction="cancel"
|
dialogAction="cancel"
|
||||||
class="red">
|
class="red"
|
||||||
Close
|
>
|
||||||
|
${translate("general.close")}
|
||||||
</mwc-button>
|
</mwc-button>
|
||||||
</mwc-dialog>
|
</mwc-dialog>
|
||||||
</div>
|
</div>
|
||||||
@ -167,6 +173,12 @@ class NameRegistration extends LitElement {
|
|||||||
this.changeTheme();
|
this.changeTheme();
|
||||||
}, 100)
|
}, 100)
|
||||||
|
|
||||||
|
this.changeLanguage()
|
||||||
|
|
||||||
|
setInterval(() => {
|
||||||
|
this.changeLanguage()
|
||||||
|
}, 100)
|
||||||
|
|
||||||
this.unitFee();
|
this.unitFee();
|
||||||
|
|
||||||
window.addEventListener("contextmenu", (event) => {
|
window.addEventListener("contextmenu", (event) => {
|
||||||
@ -228,6 +240,29 @@ class NameRegistration extends LitElement {
|
|||||||
document.querySelector('html').setAttribute('theme', this.theme);
|
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)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
renderCoreText() {
|
||||||
|
return html`${translate("registernamepage.nchange16")}`
|
||||||
|
}
|
||||||
|
|
||||||
|
renderSuccessText() {
|
||||||
|
return html`${translate("registernamepage.nchange18")}`
|
||||||
|
}
|
||||||
|
|
||||||
|
renderFailText() {
|
||||||
|
return html`${translate("registernamepage.nchange17")}`
|
||||||
|
}
|
||||||
|
|
||||||
renderAvatar(nameObj) {
|
renderAvatar(nameObj) {
|
||||||
let name = nameObj.name
|
let name = nameObj.name
|
||||||
const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node]
|
const myNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node]
|
||||||
@ -237,7 +272,7 @@ class NameRegistration extends LitElement {
|
|||||||
}
|
}
|
||||||
|
|
||||||
renderAvatarButton(nameObj) {
|
renderAvatarButton(nameObj) {
|
||||||
return html`<mwc-button @click=${() => this.uploadAvatar(nameObj)}><mwc-icon>perm_identity</mwc-icon> Set Avatar</mwc-button>`
|
return html`<mwc-button @click=${() => this.uploadAvatar(nameObj)}><mwc-icon>perm_identity</mwc-icon> ${translate("registernamepage.nchange15")}</mwc-button>`
|
||||||
}
|
}
|
||||||
|
|
||||||
async uploadAvatar(nameObj) {
|
async uploadAvatar(nameObj) {
|
||||||
@ -260,7 +295,7 @@ class NameRegistration extends LitElement {
|
|||||||
this.fee = (Number(json) / 1e8).toFixed(2);
|
this.fee = (Number(json) / 1e8).toFixed(2);
|
||||||
})
|
})
|
||||||
.catch((response) => {
|
.catch((response) => {
|
||||||
console.log(response.status, response.statusText, 'Need Core Update');
|
console.log(response.status, response.statusText, this.renderCoreText());
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -314,7 +349,7 @@ class NameRegistration extends LitElement {
|
|||||||
getTxnRequestResponse(myTransaction)
|
getTxnRequestResponse(myTransaction)
|
||||||
} else {
|
} else {
|
||||||
this.error = true
|
this.error = true
|
||||||
this.message = `Name Already Exists!`
|
this.message = this.renderFailText()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -339,7 +374,7 @@ class NameRegistration extends LitElement {
|
|||||||
this.message = txnResponse.message
|
this.message = txnResponse.message
|
||||||
throw new Error(txnResponse)
|
throw new Error(txnResponse)
|
||||||
} else if (txnResponse.success === true && !txnResponse.data.error) {
|
} else if (txnResponse.success === true && !txnResponse.data.error) {
|
||||||
this.message = 'Name Registration Successful!'
|
this.message = this.renderSuccessText()
|
||||||
this.error = false
|
this.error = false
|
||||||
} else {
|
} else {
|
||||||
this.error = true
|
this.error = true
|
||||||
|
Loading…
x
Reference in New Issue
Block a user