| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 | 
							- import Vue from 'vue'
 
- import VueI18n from 'vue-i18n'
 
- // do not preload language files as they are to weight
 
- // import * as en from 'locales/en.json'
 
- // import * as fr from 'locales/fr.json'
 
- import axios from 'axios'
 
- Vue.use(VueI18n)
 
- // const messages = {
 
- //   en: {
 
- //     // ...en.default
 
- //   },
 
- //   fr: {
 
- //
 
- //   }
 
- // }
 
- // export const i18n = new VueI18n({
 
- //   locale: 'en',
 
- //   fallbackLocale: 'en',
 
- //   messages
 
- // })
 
- export const i18n = new VueI18n()
 
- // const loadedLanguages = ['en'] // our default language that is preloaded
 
- const loadedLanguages = [] // our default language that is preloaded
 
- function setI18nLanguage (lang) {
 
-   i18n.locale = lang
 
-   // axios.defaults.headers.common['Accept-Language'] = lang
 
-   // document.querySelector('html').setAttribute('lang', lang)
 
-   return lang
 
- }
 
- export function loadLanguageAsync (lang) {
 
-   // If the same language
 
-   if (i18n.locale === lang) {
 
-     return Promise.resolve(setI18nLanguage(lang))
 
-   }
 
-   // If the language was already loaded
 
-   if (loadedLanguages.includes(lang)) {
 
-     return Promise.resolve(setI18nLanguage(lang))
 
-   }
 
-   // If the language hasn't been loaded yet
 
-   // return import(/* webpackChunkName: "lang-[request]" */ `sites/default/files/lang/${lang}.json`).then(
 
-   return axios.get(`/sites/default/files/lang/${lang}.json`)
 
-     .then(({ data }) => {
 
-       console.log(`webpack import ${lang} messages`, data)
 
-       i18n.setLocaleMessage(lang, data)
 
-       loadedLanguages.push(lang)
 
-       return setI18nLanguage(lang)
 
-     })
 
- }
 
 
  |