mirror of
https://github.com/Lissy93/dashy.git
synced 2025-07-23 13:45:33 +02:00
🌐 Adds translations for language-switcher component
This commit is contained in:
parent
a829099631
commit
f6e0092190
@ -62,6 +62,12 @@
|
|||||||
"item-size-large": "Large",
|
"item-size-large": "Large",
|
||||||
"config-launcher-label": "Config"
|
"config-launcher-label": "Config"
|
||||||
},
|
},
|
||||||
|
"language-switcher": {
|
||||||
|
"title": "Change Application Language",
|
||||||
|
"dropdown-label": "Select a Language",
|
||||||
|
"save-button": "Save",
|
||||||
|
"success-msg": "Language Updated to"
|
||||||
|
},
|
||||||
"theme-maker": {
|
"theme-maker": {
|
||||||
"title": "Theme Configurator",
|
"title": "Theme Configurator",
|
||||||
"export-button": "Export Custom Variables",
|
"export-button": "Export Custom Variables",
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="language-switcher">
|
<div class="language-switcher">
|
||||||
<h3 class="title">Change Application Language</h3>
|
<h3 class="title">{{ $t('language-switcher.title') }}</h3>
|
||||||
<p class="intro">Select a Language:</p>
|
<p class="intro">{{ $t('language-switcher.dropdown-label') }}:</p>
|
||||||
<v-select
|
<v-select
|
||||||
v-model="language"
|
v-model="language"
|
||||||
:selectOnTab="true"
|
:selectOnTab="true"
|
||||||
@ -11,7 +11,7 @@
|
|||||||
:input="setLangLocally()"
|
:input="setLangLocally()"
|
||||||
/>
|
/>
|
||||||
<Button class="save-button" :click="saveLanguage" :disallow="!language">
|
<Button class="save-button" :click="saveLanguage" :disallow="!language">
|
||||||
Save
|
{{ $t('language-switcher.save-button') }}
|
||||||
<SaveConfigIcon />
|
<SaveConfigIcon />
|
||||||
</Button>
|
</Button>
|
||||||
<p v-if="language">{{ language.flag }} {{ language.name }}</p>
|
<p v-if="language">{{ language.flag }} {{ language.name }}</p>
|
||||||
@ -42,20 +42,24 @@ export default {
|
|||||||
};
|
};
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
/* Save language to local storage */
|
||||||
saveLanguage() {
|
saveLanguage() {
|
||||||
const selectedLanguage = this.language;
|
const selectedLanguage = this.language;
|
||||||
if (this.checkLocale(selectedLanguage)) {
|
if (this.checkLocale(selectedLanguage)) {
|
||||||
localStorage.setItem(localStorageKeys.LANGUAGE, selectedLanguage.code);
|
localStorage.setItem(localStorageKeys.LANGUAGE, selectedLanguage.code);
|
||||||
this.setLangLocally();
|
this.setLangLocally();
|
||||||
const successMsg = `${selectedLanguage.flag} Language Updated to ${selectedLanguage.name}`;
|
const successMsg = `${selectedLanguage.flag} `
|
||||||
|
+ `${this.$t('language-switcher.success-msg')} ${selectedLanguage.name}`;
|
||||||
this.$toasted.show(successMsg, { className: 'toast-success' });
|
this.$toasted.show(successMsg, { className: 'toast-success' });
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
/* Check language is supported, before saving */
|
||||||
checkLocale(selectedLanguage) {
|
checkLocale(selectedLanguage) {
|
||||||
if (!selectedLanguage || !selectedLanguage.code) return false;
|
if (!selectedLanguage || !selectedLanguage.code) return false;
|
||||||
const i18nLocales = this.$i18n.availableLocales;
|
const i18nLocales = this.$i18n.availableLocales;
|
||||||
return i18nLocales.includes(selectedLanguage.code);
|
return i18nLocales.includes(selectedLanguage.code);
|
||||||
},
|
},
|
||||||
|
/* Apply language locally */
|
||||||
setLangLocally() {
|
setLangLocally() {
|
||||||
if (this.language && this.language.code) {
|
if (this.language && this.language.code) {
|
||||||
this.$i18n.locale = this.language.code;
|
this.$i18n.locale = this.language.code;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user