lx-music-desktop/src/renderer/main.js

63 lines
1.5 KiB
JavaScript

import Vue from 'vue'
import { sync } from 'vuex-router-sync'
import './event'
// Components
import './components'
// Plugins
import './plugins'
import i18n from './plugins/i18n'
import App from './App'
import router from './route'
import store from './store'
import '../common/error'
import { getSetting } from './utils'
import languageList from '@renderer/lang/languages.json'
import { rendererSend, NAMES } from '../common/ipc'
sync(store, router)
Vue.config.productionTip = false
Vue.config.devtools = process.env.NODE_ENV === 'development'
getSetting().then(({ setting, version }) => {
// Set language automatically
if (!window.i18n.availableLocales.includes(setting.langId)) {
let langId = null
let locale = window.navigator.language.toLocaleLowerCase()
if (window.i18n.availableLocales.includes(locale)) {
langId = locale
} else {
for (const lang of languageList) {
if (lang.alternate == locale) {
langId = lang.locale
break
}
}
if (langId == null) langId = 'en-us'
}
setting.langId = langId
rendererSend(NAMES.mainWindow.set_app_setting, setting)
console.log('Set lang', setting.langId)
}
window.i18n.locale = setting.langId
store.commit('setSetting', setting)
store.commit('setSettingVersion', version)
new Vue({
router,
store,
i18n,
el: '#root',
render: h => h(App),
})
// window.__VUE_DEVTOOLS_GLOBAL_HOOK__.Vue = app.constructor
})