import { createI18n } from 'vue-i18n'; import ca from './ca'; import en from './en'; import es, { type MessageSchema } from './es'; const SUPPORTED = ['es', 'en', 'ca'] as const; type Locale = (typeof SUPPORTED)[number]; function isSupported(locale: string): locale is Locale { return (SUPPORTED as readonly string[]).includes(locale); } const i18n = createI18n<[MessageSchema], Locale>({ legacy: false, locale: isSupported(window.__LOCALE__) ? window.__LOCALE__ : 'es', fallbackLocale: 'es', messages: { en, es, ca }, }); export default i18n;