starchild-widget
Version:
Starchild Widget
34 lines • 1.13 kB
TypeScript
import { Locale } from '../common';
export interface I18nMessages {
[key: string]: string | I18nMessages;
}
export interface TranslationParams {
[key: string]: string | number;
}
export type TranslationFunction = (key: string, params?: TranslationParams, locale?: Locale) => string;
export interface I18nContext {
locale: Locale;
messages: I18nMessages;
t: TranslationFunction;
setLocale: (locale: Locale) => void;
getAvailableLocales: () => Locale[];
}
export interface LanguagePack {
locale: Locale;
name: string;
messages: I18nMessages;
}
export interface I18nConfig {
defaultLocale: Locale;
supportedLocales: Locale[];
fallbackLocale?: Locale;
loadLanguagePack?: (locale: Locale) => Promise<I18nMessages>;
}
export type MessageKey = string;
export interface Formatters {
number: (value: number, locale: Locale) => string;
currency: (value: number, currency: string, locale: Locale) => string;
date: (date: Date, format?: string, locale?: Locale) => string;
time: (date: Date, format?: string, locale?: Locale) => string;
}
//# sourceMappingURL=index.d.ts.map