import Vue from 'vue'; import VueI18n from 'vue-i18n'; Vue.use(VueI18n); function loadLocaleMessages() { const locales = require.context( './locales', true, /[A-Za-z0-9-_,\s]+\.json$/i, ); const messages = {}; locales.keys().forEach((key) => { const matched = key.match(/([A-Za-z0-9-_]+)\./i); if (matched && matched.length > 1) { const locale = matched[1]; messages[locale] = locales(key); } }); return messages; } export default new VueI18n({ // Get default locale from local storage locale: window.localStorage.getItem('storedLanguage'), // Locales that don't exist will fallback to English fallbackLocale: 'en-US', // Falling back to fallbackLocale generates two console warnings // Silent fallback suppresses console warnings when using fallback silentFallbackWarn: true, messages: loadLocaleMessages(), });