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 {
|
import type { MergedLocalizerTokens, GetMessageArgs } from '../localization/localeTools';
|
||||||
ArgsFromToken,
|
import type { I18nMethods } from './I18nMethods';
|
||||||
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;
|
|
||||||
};
|
|
||||||
|
|
||||||
export type SetupI18nReturnType = I18nMethods &
|
export type SetupI18nReturnType = I18nMethods &
|
||||||
(<T extends MergedLocalizerTokens>(...[token, args]: GetMessageArgs<T>) => string);
|
(<T extends MergedLocalizerTokens>(...[token, args]: GetMessageArgs<T>) => string);
|
||||||
|
Loading…
Reference in New Issue