UNPKG

nestjs-i18n

Version:
42 lines (41 loc) 2.08 kB
import { Logger, OnModuleDestroy } from '@nestjs/common'; import { BehaviorSubject, Observable } from 'rxjs'; import { I18nOptions, I18nTranslation, I18nValidationError } from '..'; import { I18nLoader } from '../loaders/i18n.loader'; import { IfAnyOrNever, Path, PathValue } from '../types'; import { 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>, OnModuleDestroy { protected readonly i18nOptions: I18nOptions; private readonly logger; private readonly loader; private readonly languagesSubject; private readonly translationsSubject; private supportedLanguages; private translations; private pluralRules; private unsubscribe; constructor(i18nOptions: I18nOptions, translations: Observable<I18nTranslation>, supportedLanguages: Observable<string[]>, logger: Logger, loader: I18nLoader, languagesSubject: BehaviorSubject<string[]>, translationsSubject: BehaviorSubject<I18nTranslation>); onModuleDestroy(): void; translate<P extends Path<K> = any, R = PathValue<K, P>>(key: P, options?: TranslateOptions): IfAnyOrNever<R, string, R>; private getFallbackLanguage; t<P extends Path<K> = any, R = PathValue<K, P>>(key: P, options?: TranslateOptions): IfAnyOrNever<R, string, R>; getSupportedLanguages(): string[]; getTranslations(): I18nTranslation; refresh(translations?: I18nTranslation | Observable<I18nTranslation>, languages?: string[] | Observable<string[]>): Promise<void>; hbsHelper: <P extends Path<K> = any>(key: P, args: any, options: any) => IfAnyOrNever<PathValue<K, P>, string, PathValue<K, P>>; private translateObject; resolveLanguage(lang: string): string; private getPluralObject; private getNestedTranslations; validate(value: any, options?: TranslateOptions): Promise<I18nValidationError[]>; }