UNPKG

i18n-js

Version:

A small library to provide I18n on JavaScript.

59 lines (58 loc) 3.32 kB
import { DateTime, Dict, FormatNumberOptions, I18nOptions, MissingPlaceholderHandler, NullPlaceholderHandler, NumberToCurrencyOptions, NumberToDelimitedOptions, NumberToHumanOptions, NumberToHumanSizeOptions, NumberToPercentageOptions, NumberToRoundedOptions, Numeric, OnChangeHandler, Scope, StrftimeOptions, TimeAgoInWordsOptions, ToSentenceOptions, TranslateOptions } from "./typing"; import { Locales } from "./Locales"; import { Pluralization } from "./Pluralization"; import { MissingTranslation } from "./MissingTranslation"; import { interpolate } from "./helpers"; export declare class I18n { private _locale; private _defaultLocale; private _version; onChangeHandlers: OnChangeHandler[]; defaultSeparator: string; enableFallback: boolean; locales: Locales; pluralization: Pluralization; missingBehavior: string; missingPlaceholder: MissingPlaceholderHandler; missingTranslationPrefix: string; nullPlaceholder: NullPlaceholderHandler; missingTranslation: MissingTranslation; placeholder: RegExp; translations: Dict; transformKey: (key: string) => string; interpolate: typeof interpolate; availableLocales: string[]; constructor(translations?: Dict, options?: Partial<I18nOptions>); store(translations: Dict): void; get locale(): string; set locale(newLocale: string); get defaultLocale(): string; set defaultLocale(newLocale: string); translate<T = string>(scope: Scope, options?: TranslateOptions): string | T; t: <T = string>(scope: Scope, options?: TranslateOptions) => string | T; pluralize(count: number, scope: Scope, options?: TranslateOptions): string; p: (count: number, scope: Scope, options?: TranslateOptions) => string; localize(type: string, value: string | number | Date | null | undefined, options?: Dict): string; l: (type: string, value: string | number | Date | null | undefined, options?: Dict) => string; toTime(scope: Scope, input: DateTime): string; numberToCurrency(input: Numeric, options?: Partial<NumberToCurrencyOptions>): string; numberToPercentage(input: Numeric, options?: Partial<NumberToPercentageOptions>): string; numberToHumanSize(input: Numeric, options?: Partial<NumberToHumanSizeOptions>): string; numberToHuman(input: Numeric, options?: Partial<NumberToHumanOptions>): string; numberToRounded(input: Numeric, options?: Partial<NumberToRoundedOptions>): string; numberToDelimited(input: Numeric, options?: Partial<NumberToDelimitedOptions>): string; withLocale(locale: string, callback: () => void): Promise<void>; strftime(date: Date, format: string, options?: Partial<StrftimeOptions>): string; update(path: string, override: any, options?: { strict: boolean; }): void; toSentence(items: any[], options?: Partial<ToSentenceOptions>): string; timeAgoInWords(fromTime: DateTime, toTime: DateTime, options?: TimeAgoInWordsOptions): string; distanceOfTimeInWords: (fromTime: DateTime, toTime: DateTime, options?: TimeAgoInWordsOptions) => string; onChange(callback: OnChangeHandler): () => void; get version(): number; formatNumber(input: Numeric, options?: Partial<FormatNumberOptions>): string; get(scope: Scope): any; private runCallbacks; private hasChanged; }