Files
AstralRinth/apps/frontend/i18n/locale-loader.ts
Calum H. d1650bb3c4 fix: fouc (#5012)
* fix: fouc

* feat: lazy load locales

* switch test to use build
2026-01-01 14:08:05 +00:00

18 lines
536 B
TypeScript

import { type CrowdinMessages, transformCrowdinMessages } from '@modrinth/ui'
// eager:false - only loads the locale requested
const localeModules = import.meta.glob<{ default: CrowdinMessages }>(
'../src/locales/*/index.json',
{ eager: false },
)
export default defineI18nLocale(async (locale) => {
const loader = localeModules[`../src/locales/${locale}/index.json`]
if (!loader) {
console.warn(`Locale ${locale} not found`)
return {}
}
const messages = await loader()
return transformCrowdinMessages(messages.default)
})