/** * Translator * Multi-language translation and formatting */ import { EventEmitter } from 'events'; import { Locale, I18nConfig, Translation, TranslationBundle, TranslationContext, TranslationStats, DateTimeFormatOptions, NumberFormatOptions, ListFormatOptions, RelativeTimeFormatOptions, TranslationExport, TranslationImportResult } from './types'; /** * Translator for internationalization */ export declare class Translator extends EventEmitter { private config; private currentLocale; private bundles; private cache; constructor(config: I18nConfig); /** * Set current locale */ setLocale(locale: Locale): void; /** * Get current locale */ getLocale(): Locale; /** * Load translation bundle */ loadBundle(bundle: TranslationBundle): void; /** * Add single translation */ addTranslation(translation: Translation): void; /** * Translate a key */ t(key: string, context?: TranslationContext, locale?: Locale): string; /** * Format date/time */ formatDateTime(date: Date, options?: DateTimeFormatOptions): string; /** * Format number */ formatNumber(value: number, options?: NumberFormatOptions): string; /** * Format currency */ formatCurrency(value: number, currency: string, locale?: Locale): string; /** * Format percentage */ formatPercent(value: number, locale?: Locale): string; /** * Format list */ formatList(items: string[], options?: ListFormatOptions): string; /** * Format relative time */ formatRelativeTime(value: number, unit: Intl.RelativeTimeFormatUnit, options?: RelativeTimeFormatOptions): string; /** * Get translation statistics */ getStats(locale?: Locale): TranslationStats; /** * Get missing translation keys */ getMissingKeys(locale?: Locale): string[]; /** * Export translations */ export(options: TranslationExport): string; /** * Import translations */ import(data: string, format: 'json' | 'yaml' | 'csv', locale: Locale): TranslationImportResult; /** * Clear cache */ clearCache(): void; /** * Get translation from bundle */ private getTranslation; /** * Interpolate variables in translation */ private interpolate; /** * Get plural form for count */ private getPluralForm; /** * Handle missing translation key */ private handleMissingKey; /** * Generate cache key */ private getCacheKey; /** * Convert translations to YAML format */ private toYAML; /** * Convert translations to CSV format */ private toCSV; /** * Parse YAML format to translations */ private fromYAML; /** * Parse CSV format to translations */ private fromCSV; } //# sourceMappingURL=translator.d.ts.map