UNPKG

nestjs-i18n

Version:
40 lines (39 loc) 2.12 kB
import { Logger, OnModuleDestroy } from '@nestjs/common'; import { BehaviorSubject, Observable } from 'rxjs'; import { I18nOptions, I18nTranslation, I18nTranslator, I18nValidationError } from '../interfaces'; import { I18nLoader } from '../loaders'; import { IfAnyOrNever, Path, PathValue } from '../types'; import { TranslateOptions } from '../interfaces'; export declare class I18nService<K = Record<string, unknown>> implements I18nTranslator<K>, OnModuleDestroy { protected readonly i18nOptions: I18nOptions; private readonly logger; private readonly loaders; private readonly languagesSubject; private readonly translationsSubject; private supportedLanguages; private translations; private pluralRules; private transformPlaceholderCounter; private unsubscribe; constructor(i18nOptions: I18nOptions, translations: Observable<I18nTranslation>, supportedLanguages: Observable<string[]>, logger: Logger, loaders: 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: (key: string, args: any, options: any) => string; private translateObject; private getTranslationByKey; private getKeySeparator; private getNamespaceSeparator; private applyTranslationTransformPipes; private createFormatterArgs; private getArgValueByPath; resolveLanguage(lang: string): string; private getPluralObject; private getNestedTranslations; validate(value: any, options?: TranslateOptions): Promise<I18nValidationError[]>; private getClassValidatorValidate; }