UNPKG

@softkit/i18n

Version:

This library is a simple wrapper based on [nestjs-i18n](https://nestjs-i18n.com/)

36 lines (35 loc) 1.65 kB
import { Logger } from '@nestjs/common'; import { I18nLoader } from '../loaders'; import { IfAnyOrNever, Path, PathValue } from '../types'; import { I18nOptions, I18nTranslation, I18nValidationError, I18nTranslator } from '../interfaces'; export type TranslateOptions = { lang?: string; args?: ({ [k: string]: any; } | string)[] | { [k: string]: any; }; defaultValue?: string; debug?: boolean; }; export declare class I18nService<K = Record<string, unknown>> implements I18nTranslator<K> { protected readonly i18nOptions: I18nOptions; protected translations: I18nTranslation; protected supportedLanguages: string[]; private readonly logger; private readonly loaders; private pluralRules; constructor(i18nOptions: I18nOptions, translations: I18nTranslation, supportedLanguages: string[], logger: Logger, loaders: I18nLoader<unknown>[]); translate<P extends Path<K> = any, R = PathValue<K, P>>(key: P, options?: TranslateOptions): IfAnyOrNever<R, string, R>; t<P extends Path<K> = any, R = PathValue<K, P>>(key: P, options?: TranslateOptions): IfAnyOrNever<R, string, R>; getSupportedLanguages(): string[]; getTranslations(): I18nTranslation; refresh(): Promise<void>; hbsHelper: <P extends Path<K> = any>(key: P, args: any, options: any) => IfAnyOrNever<PathValue<K, P>, string, PathValue<K, P>>; resolveLanguage(lang: string): string; validate(value: any, options?: TranslateOptions): Promise<I18nValidationError[]>; private getFallbackLanguage; private translateObject; private getPluralObject; private getNestedTranslations; }