sbt-idp/cope2n-fe/src/i18n.ts
2024-01-31 11:08:20 +07:00

27 lines
617 B
TypeScript

import { i18n } from '@lingui/core';
import { en, vi } from 'make-plural/plurals';
export const DEFAULT_LOCALE = 'en';
i18n.loadLocaleData({
en: { plurals: en },
vi: { plurals: vi },
});
export async function dynamicActivate(locale: string) {
const messages = await import(`./locales/${locale}/messages.ts`).then(
(p) => p.messages,
);
i18n.load(locale, messages);
i18n.activate(locale);
}
export function getLocale() {
try {
const localeStorage = localStorage.getItem('sbt-locale');
return JSON.parse(localeStorage || '') as string;
} catch (error) {
return DEFAULT_LOCALE;
}
}