mirror of
https://github.com/ant-design/ant-design.git
synced 2026-02-09 02:49:18 +08:00
36 lines
838 B
TypeScript
36 lines
838 B
TypeScript
import defaultLocale from '../locale/en_US';
|
|
import type { ModalLocale } from './interface';
|
|
|
|
let runtimeLocale: ModalLocale = {
|
|
...(defaultLocale.Modal as ModalLocale),
|
|
};
|
|
|
|
let localeList: ModalLocale[] = [];
|
|
|
|
const generateLocale = () =>
|
|
localeList.reduce<ModalLocale>(
|
|
(merged, locale) => ({ ...merged, ...locale }),
|
|
defaultLocale.Modal!,
|
|
);
|
|
|
|
export function changeConfirmLocale(newLocale?: ModalLocale) {
|
|
if (newLocale) {
|
|
const cloneLocale = { ...newLocale };
|
|
localeList.push(cloneLocale);
|
|
runtimeLocale = generateLocale();
|
|
|
|
return () => {
|
|
localeList = localeList.filter((locale) => locale !== cloneLocale);
|
|
runtimeLocale = generateLocale();
|
|
};
|
|
}
|
|
|
|
runtimeLocale = {
|
|
...(defaultLocale.Modal as ModalLocale),
|
|
};
|
|
}
|
|
|
|
export function getConfirmLocale() {
|
|
return runtimeLocale;
|
|
}
|