import en from './i18n/en'; import ja from './i18n/ja'; import { createI18n } from 'vue-i18n'; export type Locale = 'en' | 'ja'; const loadLocaleMessages = async (locale: Locale) => { return (await import(`./i18n/${locale}.ts`)).default; }; const i18n = createI18n({ legacy: false, locale: 'en', fallbackLocale: 'en', messages: { en, ja }, }); const setLocale = async (locale: Locale) => { if (locale !== 'en') { const messages = await loadLocaleMessages(locale); i18n.global.setLocaleMessage(locale, messages); } i18n.global.locale.value = locale; }; export { i18n, setLocale };