Add language detection and storage

Save language setting to localstorage (first time using browser language) and fix some bugs in en-US.yaml
This commit is contained in:
umbor
2023-06-11 12:53:30 +08:00
parent 3d1362b997
commit 2723b259dc
3 changed files with 18 additions and 5 deletions

View File

@@ -67,10 +67,14 @@ onUnmounted(() => {
});
function changeLocale(){
if(t.value === 'zh-CN'){
t.value = locale.value = 'en'
if(localStorage.getItem('lang') === 'zh-CN'){
locale.value = 'en-US';
localStorage.setItem('lang', locale.value);
location.reload();
} else {
t.value = locale.value = 'zh-CN';
locale.value = 'zh-CN';
localStorage.setItem('lang', locale.value);
location.reload();
}
}
</script>

View File

@@ -1,9 +1,18 @@
import { createI18n } from 'vue-i18n';
import messages from '@intlify/unplugin-vue-i18n/messages'
//Default language is the same as last setting (undefined is browser language)
let lang = localStorage.getItem('lang');
if(lang === null){
const navLang = navigator.language || navigator.userLanguage;
let localLang = navLang || false;
lang = localLang || 'en-US';
}
localStorage.setItem('lang', lang);
const i18n = createI18n({
legacy: false,
locale: 'zh-CN',
locale: lang,
globalInjection: true,
silentTranslationWarn: true,
globalInstall: true,

View File

@@ -94,7 +94,7 @@ config:
ssl: 'SSL'
manageset:
title: 'Manage SEtting'
title: 'Manage Setting'
enable: 'Enable'
method: 'Rename Method'
eps: 'EPS complete'