master
 1// This file was auto-generated by 'typesafe-i18n'. Any manual changes will be overwritten.
 2/* eslint-disable */
 3
 4import { initFormatters } from './formatters.js'
 5import type { Locales, Translations } from './i18n-types.js'
 6import { loadedFormatters, loadedLocales, locales } from './i18n-util.js'
 7
 8import en from './en/index.js'
 9import zh_CN from './zh-CN/index.js'
10import zh_TW from './zh-TW/index.js'
11
12import en_cli from './en/cli/index.js'
13import en_web from './en/web/index.js'
14import zh_CN_cli from './zh-CN/cli/index.js'
15import zh_CN_web from './zh-CN/web/index.js'
16import zh_TW_cli from './zh-TW/cli/index.js'
17import zh_TW_web from './zh-TW/web/index.js'
18
19const localeTranslations = {
20	en: {
21		...en,
22		cli: en_cli,
23		web: en_web
24	},
25	'zh-CN': {
26		...zh_CN,
27		cli: zh_CN_cli,
28		web: zh_CN_web
29	},
30	'zh-TW': {
31		...zh_TW,
32		cli: zh_TW_cli,
33		web: zh_TW_web
34	},
35}
36
37export const loadLocale = (locale: Locales): void => {
38	if (loadedLocales[locale]) return
39
40	loadedLocales[locale] = localeTranslations[locale] as unknown as Translations
41	loadFormatters(locale)
42}
43
44export const loadAllLocales = (): void => locales.forEach(loadLocale)
45
46export const loadFormatters = (locale: Locales): void =>
47	void (loadedFormatters[locale] = initFormatters(locale))