nestjs-i18n
Version:
The i18n module for Nest.
40 lines (39 loc) • 2.12 kB
TypeScript
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;
}