From 7ba2102b96ba955fa5cc678d83e4fb892d2fac22 Mon Sep 17 00:00:00 2001 From: Anthony Fu Date: Fri, 22 Jan 2021 17:27:31 +0800 Subject: [PATCH] refactor: use vite glob for loading messages --- src/plugins/i18n.ts | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/src/plugins/i18n.ts b/src/plugins/i18n.ts index f8e308b..de1c00b 100644 --- a/src/plugins/i18n.ts +++ b/src/plugins/i18n.ts @@ -2,25 +2,20 @@ import { App } from 'vue' import { createI18n } from 'vue-i18n' // import i18n resources -import en from '../../locales/en.json' -import zhCN from '../../locales/zh-CN.json' -import fr from '../../locales/fr.json' -import es from '../../locales/es.json' -import vi from '../../locales/vi.json' -import ja from '../../locales/ja.json' +// https://vitejs.dev/guide/features.html#glob-import +const messages = Object.fromEntries( + Object.entries( + import.meta.globEager('../../locales/*.json')) + .map(([key, value]) => { + return [key.slice(14, -5), value.default] + }), +) export default (app: App) => { const i18n = createI18n({ legacy: false, locale: 'en', - messages: { - en, - 'zh-CN': zhCN, - fr, - es, - vi, - ja - }, + messages, }) app.use(i18n)