| | |
| | | |
| | | import { LanguagesSupported } from '@/i18n/language' |
| | | |
| | | const requireSilent = (lang: string) => { |
| | | let res |
| | | try { |
| | | res = require(`./${lang}/education`).default |
| | | } |
| | | catch { |
| | | res = require('./en-US/education').default |
| | | } |
| | | |
| | | return res |
| | | } |
| | | |
| | | const loadLangResources = (lang: string) => ({ |
| | | translation: { |
| | | common: require(`./${lang}/common`).default, |
| | |
| | | tools: require(`./${lang}/tools`).default, |
| | | workflow: require(`./${lang}/workflow`).default, |
| | | runLog: require(`./${lang}/run-log`).default, |
| | | plugin: require(`./${lang}/plugin`).default, |
| | | pluginTags: require(`./${lang}/plugin-tags`).default, |
| | | time: require(`./${lang}/time`).default, |
| | | education: requireSilent(lang), |
| | | }, |
| | | }) |
| | | |
| | | type Resource = Record<string, ReturnType<typeof loadLangResources>> |
| | | // Automatically generate the resources object |
| | | export const resources = LanguagesSupported.reduce<Resource>((acc, lang) => { |
| | | const resources = LanguagesSupported.reduce((acc: any, lang: string) => { |
| | | acc[lang] = loadLangResources(lang) |
| | | return acc |
| | | }, {}) |