chore: refactor I18n types outside of window object
to keep ts/localization folder self containedpull/3281/head
parent
ce734f1e1c
commit
42d54abb91
@ -0,0 +1,28 @@
|
||||
import type { CrowdinLocale } from './constants';
|
||||
import type {
|
||||
MergedLocalizerTokens,
|
||||
GetMessageArgs,
|
||||
LocalizerComponentProps,
|
||||
SimpleLocalizerTokens,
|
||||
ArgsFromToken,
|
||||
} from './localeTools';
|
||||
|
||||
export type I18nMethods = {
|
||||
/** @see {@link window.i18n.stripped} */
|
||||
stripped: <T extends MergedLocalizerTokens>(...[token, args]: GetMessageArgs<T>) => string | T;
|
||||
strippedWithObj: <T extends MergedLocalizerTokens>(
|
||||
opts: LocalizerComponentProps<T>
|
||||
) => string | T;
|
||||
/** @see {@link window.i18n.inEnglish} */
|
||||
inEnglish: <T extends SimpleLocalizerTokens>(token: T) => string | T;
|
||||
/** @see {@link window.i18n.formatMessageWithArgs */
|
||||
getRawMessage: <T extends MergedLocalizerTokens>(
|
||||
crowdinLocale: CrowdinLocale,
|
||||
...[token, args]: GetMessageArgs<T>
|
||||
) => string | T;
|
||||
/** @see {@link window.i18n.formatMessageWithArgs} */
|
||||
formatMessageWithArgs: <T extends MergedLocalizerTokens>(
|
||||
rawMessage: string,
|
||||
args?: ArgsFromToken<T>
|
||||
) => string | T;
|
||||
};
|
@ -1,31 +1,5 @@
|
||||
import type {
|
||||
ArgsFromToken,
|
||||
MergedLocalizerTokens,
|
||||
GetMessageArgs,
|
||||
LocalizerComponentProps,
|
||||
SimpleLocalizerTokens,
|
||||
} from '../localization/localeTools';
|
||||
import { CrowdinLocale } from '../localization/constants';
|
||||
|
||||
export type I18nMethods = {
|
||||
/** @see {@link window.i18n.stripped} */
|
||||
stripped: <T extends MergedLocalizerTokens>(...[token, args]: GetMessageArgs<T>) => string | T;
|
||||
strippedWithObj: <T extends MergedLocalizerTokens>(
|
||||
opts: LocalizerComponentProps<T>
|
||||
) => string | T;
|
||||
/** @see {@link window.i18n.inEnglish} */
|
||||
inEnglish: <T extends SimpleLocalizerTokens>(token: T) => string | T;
|
||||
/** @see {@link window.i18n.formatMessageWithArgs */
|
||||
getRawMessage: <T extends MergedLocalizerTokens>(
|
||||
crowdinLocale: CrowdinLocale,
|
||||
...[token, args]: GetMessageArgs<T>
|
||||
) => string | T;
|
||||
/** @see {@link window.i18n.formatMessageWithArgs} */
|
||||
formatMessageWithArgs: <T extends MergedLocalizerTokens>(
|
||||
rawMessage: string,
|
||||
args?: ArgsFromToken<T>
|
||||
) => string | T;
|
||||
};
|
||||
import type { MergedLocalizerTokens, GetMessageArgs } from '../localization/localeTools';
|
||||
import type { I18nMethods } from './I18nMethods';
|
||||
|
||||
export type SetupI18nReturnType = I18nMethods &
|
||||
(<T extends MergedLocalizerTokens>(...[token, args]: GetMessageArgs<T>) => string);
|
||||
|
Loading…
Reference in New Issue