parent
583f6b78cd
commit
954ff8c3fc
2 changed files with 19 additions and 1 deletions
18
src/App.vue
18
src/App.vue
|
|
@ -43,6 +43,24 @@ export default {
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
beforeMount() {
|
beforeMount() {
|
||||||
|
if (!this.$store.state.language) {
|
||||||
|
// No language set, default to browser language?
|
||||||
|
var browserLang = (
|
||||||
|
navigator.language ||
|
||||||
|
navigator.userLanguage ||
|
||||||
|
""
|
||||||
|
).toLowerCase();
|
||||||
|
if (this.$i18n.messages[browserLang]) {
|
||||||
|
this.$store.commit("setLanguage", browserLang);
|
||||||
|
} else if (browserLang.includes("-")) {
|
||||||
|
// Try with language name only.
|
||||||
|
let lang = browserLang.split("-")[0];
|
||||||
|
if (this.$i18n.messages[lang]) {
|
||||||
|
this.$store.commit("setLanguage", lang);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Set language
|
// Set language
|
||||||
this.$i18n.locale = this.$store.state.language || "en";
|
this.$i18n.locale = this.$store.state.language || "en";
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -64,7 +64,7 @@ const vuexPersistSessionStorage = new VuexPersist({
|
||||||
const defaultUseSessionStorage = (sessionStorage.getItem('user') != null);
|
const defaultUseSessionStorage = (sessionStorage.getItem('user') != null);
|
||||||
|
|
||||||
export default new Vuex.Store({
|
export default new Vuex.Store({
|
||||||
state: { language: 'en', currentRoomId: null, auth: null, tempuser: null, useLocalStorage: !defaultUseSessionStorage },
|
state: { language: null, currentRoomId: null, auth: null, tempuser: null, useLocalStorage: !defaultUseSessionStorage },
|
||||||
mutations: {
|
mutations: {
|
||||||
loginSuccess(state, user) {
|
loginSuccess(state, user) {
|
||||||
state.auth.status.loggedIn = true;
|
state.auth.status.loggedIn = true;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue