Small fixes and add russian
This commit is contained in:
parent
ba82e08f42
commit
22ea028e80
BIN
img/ru-flag-round-icon-32.png
Normal file
BIN
img/ru-flag-round-icon-32.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.8 KiB |
@ -32,7 +32,7 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"electron-updater": "5.0.1",
|
||||
"electron-log": "4.4.6"
|
||||
"electron-log": "4.4.7"
|
||||
},
|
||||
"devDependencies": {
|
||||
"electron": "17.4.3",
|
||||
|
@ -14,7 +14,8 @@
|
||||
"portuguese": "Portugiesisch",
|
||||
"hungarian": "Ungarisch",
|
||||
"serbian": "Serbisch",
|
||||
"italian": "Italienisch"
|
||||
"italian": "Italienisch",
|
||||
"russian": "Russisch"
|
||||
},
|
||||
"sidemenu": {
|
||||
"mintingdetails": "PRÄGUNGSDETAILS",
|
||||
|
@ -14,7 +14,8 @@
|
||||
"portuguese": "Portugués",
|
||||
"hungarian": "Húngaro",
|
||||
"serbian": "Serbio",
|
||||
"italian": "Italiano"
|
||||
"italian": "Italiano",
|
||||
"russian": "Ruso"
|
||||
},
|
||||
"sidemenu": {
|
||||
"mintingdetails": "DETALLES DE ACUÑACIÓN",
|
||||
|
@ -14,7 +14,8 @@
|
||||
"portuguese": "Portugais",
|
||||
"hungarian": "Hongrois",
|
||||
"serbian": "Serbe",
|
||||
"italian": "Italien"
|
||||
"italian": "Italien",
|
||||
"russian": "Russe"
|
||||
},
|
||||
"sidemenu": {
|
||||
"mintingdetails": "DETAILS DE FRAPPE",
|
||||
@ -186,7 +187,7 @@
|
||||
"wchange14": "Date",
|
||||
"wchange15": "Signature de la transaction",
|
||||
"wchange16": "Hachage de la transaction",
|
||||
"wchange17": "Envoyé",
|
||||
"wchange17": "Envoyer",
|
||||
"wchange18": "Depuis l'adresse",
|
||||
"wchange19": "Solde disponible",
|
||||
"wchange20": "A (adresse ou nom)",
|
||||
|
@ -15,7 +15,8 @@
|
||||
"portuguese": "पुर्तगाली",
|
||||
"hungarian": "हंगेरी",
|
||||
"serbian": "सर्बियाई",
|
||||
"italian": "इतालवी"
|
||||
"italian": "इतालवी",
|
||||
"russian": "रूसी"
|
||||
},
|
||||
|
||||
"sidemenu": {
|
||||
|
@ -14,7 +14,8 @@
|
||||
"portuguese": "Portugalski",
|
||||
"hungarian": "Mađarski",
|
||||
"serbian": "Srpski",
|
||||
"italian": "Talijanski"
|
||||
"italian": "Talijanski",
|
||||
"russian": "Ruski"
|
||||
},
|
||||
"sidemenu": {
|
||||
"mintingdetails": "DETALJI O MINTANJU",
|
||||
|
@ -14,7 +14,8 @@
|
||||
"portuguese": "Portugál",
|
||||
"hungarian": "Magyar",
|
||||
"serbian": "Szerb",
|
||||
"italian": "Olasz"
|
||||
"italian": "Olasz",
|
||||
"russian": "Orosz"
|
||||
},
|
||||
"sidemenu": {
|
||||
"mintingdetails": "VERÉSI RÉSZLETEK",
|
||||
|
@ -14,7 +14,8 @@
|
||||
"portuguese": "Portoghese",
|
||||
"hungarian": "Ungherese",
|
||||
"serbian": "Serbo",
|
||||
"italian": "Italiano"
|
||||
"italian": "Italiano",
|
||||
"russian": "Russo"
|
||||
},
|
||||
"sidemenu": {
|
||||
"mintingdetails": "DETTAGLI DI MINTING",
|
||||
|
@ -14,7 +14,8 @@
|
||||
"portuguese": "Portugalski",
|
||||
"hungarian": "Węgierski",
|
||||
"serbian": "Serbski",
|
||||
"italian": "Włoski"
|
||||
"italian": "Włoski",
|
||||
"russian": "Rosyjski"
|
||||
},
|
||||
"sidemenu": {
|
||||
"mintingdetails": "SZCZEGÓŁY MINTOWANIA",
|
||||
|
@ -14,7 +14,8 @@
|
||||
"portuguese": "Português",
|
||||
"hungarian": "Húngaro",
|
||||
"serbian": "Sérvio",
|
||||
"italian": "Italiano"
|
||||
"italian": "Italiano",
|
||||
"russian": "Russo"
|
||||
},
|
||||
"sidemenu": {
|
||||
"mintingdetails": "DETALHES DA MINERAÇÃO",
|
||||
|
@ -14,7 +14,8 @@
|
||||
"portuguese": "Portugalski",
|
||||
"hungarian": "Mađarski",
|
||||
"serbian": "Srpski",
|
||||
"italian": "Italijan"
|
||||
"italian": "Italijan",
|
||||
"russian": "Ruski"
|
||||
},
|
||||
"sidemenu": {
|
||||
"mintingdetails": "DETALJI MINTOVANJA",
|
||||
|
@ -208,7 +208,7 @@
|
||||
"wchange35": "Тип",
|
||||
"wchange36": "Платеж",
|
||||
"wchange37": "Общая сумма",
|
||||
"wchange38": "Address has no transactions yet.",
|
||||
"wchange38": "В адресе еще нет транзакций.",
|
||||
"wchange39": "Не удалось скопировать адрес.",
|
||||
"wchange40": "ОПЛАТА",
|
||||
"wchange41": "Статус",
|
||||
|
@ -14,7 +14,8 @@
|
||||
"portuguese": "Portuguese",
|
||||
"hungarian": "Hungarian",
|
||||
"serbian": "Serbian",
|
||||
"italian": "Italian"
|
||||
"italian": "Italian",
|
||||
"russian": "Russian"
|
||||
},
|
||||
"sidemenu": {
|
||||
"mintingdetails": "MINTING DETAILS",
|
||||
|
@ -14,7 +14,8 @@
|
||||
"portuguese": "葡萄牙文",
|
||||
"hungarian": "匈牙利文",
|
||||
"serbian": "塞尔维亚文",
|
||||
"italian": "意大利文"
|
||||
"italian": "意大利文",
|
||||
"russian": "俄语"
|
||||
},
|
||||
"sidemenu": {
|
||||
"mintingdetails": "铸币信息",
|
||||
|
@ -14,7 +14,8 @@
|
||||
"portuguese": "葡萄牙文",
|
||||
"hungarian": "匈牙利文",
|
||||
"serbian": "塞爾維亞文",
|
||||
"italian": "意大利文"
|
||||
"italian": "意大利文",
|
||||
"russian": "俄語"
|
||||
},
|
||||
"sidemenu": {
|
||||
"mintingdetails": "鑄幣信息",
|
||||
|
@ -51,6 +51,7 @@ class LanguageSelector extends connect(store)(LitElement) {
|
||||
|
||||
constructor() {
|
||||
super()
|
||||
this.theme = localStorage.getItem('qortalTheme') ? localStorage.getItem('qortalTheme') : 'light'
|
||||
}
|
||||
|
||||
render() {
|
||||
@ -69,6 +70,7 @@ class LanguageSelector extends connect(store)(LitElement) {
|
||||
<option value="pl">PL - ${translate("selectmenu.polish")}</option>
|
||||
<option value="pt">PT - ${translate("selectmenu.portuguese")}</option>
|
||||
<option value="rs">RS - ${translate("selectmenu.serbian")}</option>
|
||||
<option value="ru">RU - ${translate("selectmenu.russian")}</option>
|
||||
<option value="zht">ZHT - ${translate("selectmenu.chinese2")}</option>
|
||||
<option value="zhc">ZHC - ${translate("selectmenu.chinese1")}</option>
|
||||
</select>
|
||||
|
@ -1,7 +1,7 @@
|
||||
import { LitElement, html, css } from 'lit'
|
||||
import { connect } from 'pwa-helpers'
|
||||
import { store } from '../../store.js'
|
||||
import { translate, translateUnsafeHTML } from 'lit-translate'
|
||||
import { use, get, translate, translateUnsafeHTML, registerTranslateConfig } from 'lit-translate'
|
||||
|
||||
import { createWallet } from '../../../../qortal-ui-crypto/api/createWallet.js'
|
||||
import FileSaver from 'file-saver'
|
||||
@ -121,24 +121,27 @@ class CreateAccountSection extends connect(store)(LitElement) {
|
||||
const rePassword = this.shadowRoot.getElementById('rePassword').value
|
||||
|
||||
if (password === '') {
|
||||
let snackbar1string = get("login.pleaseenter")
|
||||
snackbar.add({
|
||||
labelText: this.renderEnterPassText(),
|
||||
labelText: `${snackbar1string}`,
|
||||
dismiss: true
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
if (password != rePassword) {
|
||||
let snackbar2string = get("login.notmatch")
|
||||
snackbar.add({
|
||||
labelText: this.renderNotMatchText(),
|
||||
labelText: `${snackbar2string}`,
|
||||
dismiss: true
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
if (password.length < 8 && lastPassword !== password) {
|
||||
let snackbar3string = get("login.lessthen8")
|
||||
snackbar.add({
|
||||
labelText: this.renderLessText(),
|
||||
labelText: `${snackbar3string}`,
|
||||
dismiss: true
|
||||
})
|
||||
lastPassword = password
|
||||
@ -146,8 +149,9 @@ class CreateAccountSection extends connect(store)(LitElement) {
|
||||
}
|
||||
|
||||
if (this.saveAccount === true && nameInput === '') {
|
||||
let snackbar4string = get("login.entername")
|
||||
snackbar.add({
|
||||
labelText: this.renderEnterNameText(),
|
||||
labelText: `${snackbar4string}`,
|
||||
dismiss: true
|
||||
})
|
||||
return
|
||||
@ -194,8 +198,9 @@ class CreateAccountSection extends connect(store)(LitElement) {
|
||||
backup: {
|
||||
next: e => {
|
||||
if (!this.isDownloadedBackup) {
|
||||
let snackbar5string = get("login.downloaded")
|
||||
snackbar.add({
|
||||
labelText: this.renderBackupText(),
|
||||
labelText: `${snackbar5string}`,
|
||||
dismiss: true
|
||||
})
|
||||
} else {
|
||||
@ -494,30 +499,10 @@ class CreateAccountSection extends connect(store)(LitElement) {
|
||||
return html`${translate("login.prepare")}`
|
||||
}
|
||||
|
||||
renderBackupText() {
|
||||
return html`${translate("login.downloaded")}`
|
||||
}
|
||||
|
||||
renderWelcomeText() {
|
||||
return html`${translate("login.welmessage")}`
|
||||
}
|
||||
|
||||
renderEnterPassText() {
|
||||
return html`${translate("login.pleaseenter")}`
|
||||
}
|
||||
|
||||
renderNotMatchText() {
|
||||
return html`${translate("login.notmatch")}`
|
||||
}
|
||||
|
||||
renderLessText() {
|
||||
return html`${translate("login.lessthen8")}`
|
||||
}
|
||||
|
||||
renderEnterNameText() {
|
||||
return html`${translate("login.entername")}`
|
||||
}
|
||||
|
||||
renderLoadingText() {
|
||||
return html`${translate("login.loading")}`
|
||||
}
|
||||
|
@ -1,186 +0,0 @@
|
||||
import { LitElement, html, css } from 'lit'
|
||||
import { connect } from 'pwa-helpers'
|
||||
import { store } from '../../store.js'
|
||||
|
||||
const TRANSITION_EVENT_NAMES = ['transitionend', 'webkitTransitionEnd', 'oTransitionEnd', 'MSTransitionEnd']
|
||||
|
||||
class LoadingRipple extends connect(store)(LitElement) {
|
||||
static get properties () {
|
||||
return {
|
||||
welcomeMessage: {
|
||||
type: String,
|
||||
attribute: 'welcome-message',
|
||||
reflectToAttribute: true
|
||||
},
|
||||
loadingMessage: {
|
||||
type: String,
|
||||
attribute: 'loading-message',
|
||||
reflectToAttribute: true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
constructor () {
|
||||
super()
|
||||
this.welcomeMessage = ''
|
||||
this.loadingMessage = ''
|
||||
}
|
||||
|
||||
static get styles () {
|
||||
return css`
|
||||
* {
|
||||
--paper-spinner-color: var(--mdc-theme-secondary);
|
||||
}
|
||||
|
||||
`
|
||||
}
|
||||
|
||||
render () {
|
||||
return html`
|
||||
<style>
|
||||
#rippleWrapper{
|
||||
position:fixed;
|
||||
top:0;
|
||||
left:0;
|
||||
bottom:0;
|
||||
right:0;
|
||||
height:0;
|
||||
width:0;
|
||||
z-index:999;
|
||||
overflow: visible;
|
||||
--ripple-activating-transition: transform 0.3s cubic-bezier(0.6, 0.0, 1, 1), opacity 0.3s cubic-bezier(0.6, 0.0, 1, 1);
|
||||
--ripple-disable-transition: opacity 0.5s ease;
|
||||
}
|
||||
#ripple{
|
||||
border-radius:50%;
|
||||
border-width:0;
|
||||
margin-left:-100vmax;
|
||||
margin-top: -100vmax;
|
||||
height:200vmax;
|
||||
width:200vmax;
|
||||
overflow:hidden;
|
||||
background: var(--mdc-theme-secondary);
|
||||
transform: scale(0);
|
||||
overflow:hidden;
|
||||
}
|
||||
#ripple.error {
|
||||
transition: var(--ripple-activating-transition);
|
||||
background: var(--mdc-theme-error)
|
||||
}
|
||||
#rippleShader {
|
||||
background: var(--mdc-theme-surface);
|
||||
opacity:0;
|
||||
height:100%;
|
||||
width:100%;
|
||||
}
|
||||
#ripple.activating{
|
||||
transition: var(--ripple-activating-transition);
|
||||
transform: scale(1)
|
||||
}
|
||||
.activating #rippleShader {
|
||||
transition: var(--ripple-activating-transition);
|
||||
opacity: 1;
|
||||
}
|
||||
#ripple.disabling{
|
||||
transition: var(--ripple-disable-transition);
|
||||
opacity: 0;
|
||||
}
|
||||
#rippleContentWrapper {
|
||||
position: absolute;
|
||||
top:100vmax;
|
||||
left:100vmax;
|
||||
height:var(--window-height);
|
||||
width:100vw;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
#rippleContent {
|
||||
opacity: 0;
|
||||
text-align:center;
|
||||
}
|
||||
.activating-done #rippleContent {
|
||||
opacity: 1;
|
||||
transition: var(--ripple-activating-transition);
|
||||
}
|
||||
</style>
|
||||
<div id="rippleWrapper">
|
||||
<div id="ripple">
|
||||
<div id="rippleShader"></div>
|
||||
<div id="rippleContentWrapper">
|
||||
<div id="rippleContent">
|
||||
<h1>${this.welcomeMessage}</h1>
|
||||
<paper-spinner-lite active></paper-spinner-lite>
|
||||
<p>${this.loadingMessage}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
`
|
||||
}
|
||||
|
||||
firstUpdated () {
|
||||
this._rippleWrapper = this.shadowRoot.getElementById('rippleWrapper')
|
||||
this._ripple = this.shadowRoot.getElementById('ripple')
|
||||
this._rippleContentWrapper = this.shadowRoot.getElementById('rippleContentWrapper')
|
||||
}
|
||||
|
||||
// duh
|
||||
open (origin) {
|
||||
this._rippleWrapper.style.top = origin.y + 'px'
|
||||
this._rippleWrapper.style.left = origin.x + 'px'
|
||||
this._rippleContentWrapper.style.marginTop = -origin.y + 'px'
|
||||
this._rippleContentWrapper.style.marginLeft = -origin.x + 'px'
|
||||
|
||||
return new Promise((resolve, reject) => {
|
||||
this._ripple.classList.add('activating')
|
||||
let isOpened = false
|
||||
const doneOpeningEvent = () => {
|
||||
if (isOpened) return
|
||||
// Clear events
|
||||
TRANSITION_EVENT_NAMES.forEach(name => this._ripple.removeEventListener(name, doneOpeningEvent))
|
||||
this._ripple.classList.add('activating-done')
|
||||
isOpened = true
|
||||
resolve()
|
||||
}
|
||||
TRANSITION_EVENT_NAMES.forEach(name => this._ripple.addEventListener(name, doneOpeningEvent))
|
||||
})
|
||||
}
|
||||
|
||||
// Fades out
|
||||
fade () {
|
||||
return new Promise((resolve, reject) => {
|
||||
// CAN'T FADE OUT CAUSE THE STUPID THING GETS KILLED CAUSE OF STATE.APP.LOGGEEDIN
|
||||
// let rippleClosed = false
|
||||
this._ripple.classList.remove('activating')
|
||||
this._ripple.classList.remove('activating-done')
|
||||
this._ripple.classList.remove('disabling')
|
||||
resolve()
|
||||
})
|
||||
}
|
||||
|
||||
// un-ripples...
|
||||
close () {
|
||||
return new Promise((resolve, reject) => {
|
||||
let rippleClosed = false
|
||||
this._ripple.classList.add('error')
|
||||
this._ripple.classList.remove('activating')
|
||||
this._ripple.classList.remove('activating-done')
|
||||
const rippleClosedEvent = () => {
|
||||
if (rippleClosed) return
|
||||
rippleClosed = true
|
||||
TRANSITION_EVENT_NAMES.forEach(name => this._ripple.removeEventListener(name, rippleClosedEvent))
|
||||
// Reset the ripple
|
||||
this._ripple.classList.remove('error')
|
||||
this.rippleIsOpen = false
|
||||
resolve()
|
||||
}
|
||||
TRANSITION_EVENT_NAMES.forEach(name => this._ripple.addEventListener(name, rippleClosedEvent))
|
||||
})
|
||||
}
|
||||
|
||||
stateChanged (state) {
|
||||
}
|
||||
}
|
||||
|
||||
window.customElements.define('loading-ripple', LoadingRipple)
|
@ -17,7 +17,6 @@ class SidenavMenu extends connect(store)(LitElement) {
|
||||
urls: { type: Object },
|
||||
theme: { type: String, reflect: true }
|
||||
}
|
||||
this.theme = localStorage.getItem('qortalTheme') ? localStorage.getItem('qortalTheme') : 'light'
|
||||
}
|
||||
|
||||
static get styles() {
|
||||
@ -50,6 +49,7 @@ class SidenavMenu extends connect(store)(LitElement) {
|
||||
constructor() {
|
||||
super()
|
||||
this.urls = []
|
||||
this.theme = localStorage.getItem('qortalTheme') ? localStorage.getItem('qortalTheme') : 'light'
|
||||
}
|
||||
|
||||
render() {
|
||||
|
@ -29,6 +29,8 @@ class LoadingRipple extends LitElement {
|
||||
static get styles () {
|
||||
return css`
|
||||
* {
|
||||
--mdc-theme-primary: rgb(3, 169, 244);
|
||||
--mdc-theme-secondary: var(--mdc-theme-primary);
|
||||
--paper-spinner-color: var(--mdc-theme-secondary);
|
||||
}
|
||||
|
||||
@ -53,7 +55,7 @@ class LoadingRipple extends LitElement {
|
||||
height:200vmax;
|
||||
width:200vmax;
|
||||
overflow:hidden;
|
||||
background: var(--mdc-theme-primary);
|
||||
background: var(--black);
|
||||
transform: scale(0);
|
||||
overflow:hidden;
|
||||
}
|
||||
@ -62,7 +64,7 @@ class LoadingRipple extends LitElement {
|
||||
background: var(--mdc-theme-error)
|
||||
}
|
||||
#rippleShader {
|
||||
background: var(--mdc-theme-surface);
|
||||
background: var(--white);
|
||||
opacity:0;
|
||||
height:100%;
|
||||
width:100%;
|
||||
@ -108,9 +110,9 @@ class LoadingRipple extends LitElement {
|
||||
<div id="rippleShader"></div>
|
||||
<div id="rippleContentWrapper">
|
||||
<div id="rippleContent">
|
||||
<h1>${this.welcomeMessage}</h1>
|
||||
<h1 style="color: var(--black);">${this.welcomeMessage}</h1>
|
||||
<paper-spinner-lite active></paper-spinner-lite>
|
||||
<p>${this.loadingMessage}</p>
|
||||
<p style="color: var(--black);">${this.loadingMessage}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
Loading…
x
Reference in New Issue
Block a user