1cbcd2136SDixsie Wolmersimport Vue from 'vue'; 2cbcd2136SDixsie Wolmersimport VueI18n from 'vue-i18n'; 3cbcd2136SDixsie Wolmers 4cbcd2136SDixsie WolmersVue.use(VueI18n); 5cbcd2136SDixsie Wolmers 6cbcd2136SDixsie Wolmersfunction loadLocaleMessages() { 7cbcd2136SDixsie Wolmers const locales = require.context( 8cbcd2136SDixsie Wolmers './locales', 9cbcd2136SDixsie Wolmers true, 10*8132399cSEd Tanous /[A-Za-z0-9-_,\s]+\.json$/i, 11cbcd2136SDixsie Wolmers ); 12cbcd2136SDixsie Wolmers const messages = {}; 13602e98aaSDerick Montague locales.keys().forEach((key) => { 14cbcd2136SDixsie Wolmers const matched = key.match(/([A-Za-z0-9-_]+)\./i); 15cbcd2136SDixsie Wolmers if (matched && matched.length > 1) { 16cbcd2136SDixsie Wolmers const locale = matched[1]; 17cbcd2136SDixsie Wolmers messages[locale] = locales(key); 18cbcd2136SDixsie Wolmers } 19cbcd2136SDixsie Wolmers }); 20cbcd2136SDixsie Wolmers return messages; 21cbcd2136SDixsie Wolmers} 22cbcd2136SDixsie Wolmers 23cbcd2136SDixsie Wolmersexport default new VueI18n({ 24c85395f2SDixsie Wolmers // Get default locale from local storage 255ee04ef5SSukanya Pandey locale: window.localStorage.getItem('storedLanguage'), 26c85395f2SDixsie Wolmers // Locales that don't exist will fallback to English 27c85395f2SDixsie Wolmers fallbackLocale: 'en-US', 28c85395f2SDixsie Wolmers // Falling back to fallbackLocale generates two console warnings 29c85395f2SDixsie Wolmers // Silent fallback suppresses console warnings when using fallback 30c85395f2SDixsie Wolmers silentFallbackWarn: true, 31602e98aaSDerick Montague messages: loadLocaleMessages(), 32cbcd2136SDixsie Wolmers}); 33