UNPKG

i18ntk

Version:

i18n Tool Kit - Zero-dependency internationalization toolkit for setup, scanning, analysis, validation, auto translation, fixing, reporting, and runtime translation loading.

60 lines (58 loc) 3.89 kB
/** @deprecated Use i18ntk/runtime, /runtime/node, /runtime/static, or /runtime/fetch. */ import type { InitOptions, RuntimeEvent, RuntimeInstance, TranslateParams, TranslationOptions } from './index'; export interface EnhancedOptions extends InitOptions { defaultLanguage?: string; encryption?: { enabled?: boolean; key?: string }; cache?: { enabled?: boolean; maxSize?: number; ttl?: number }; security?: { validateInputs?: boolean; sanitizeOutput?: boolean; maxKeyLength?: number; maxValueLength?: number }; } export class ValidationError extends Error { code: 'I18NTK_RUNTIME_VALIDATION'; details: Record<string, unknown>; } export class I18nEnhancedRuntime { constructor(options?: EnhancedOptions); translate(key: string, params?: TranslateParams, options?: TranslationOptions): Promise<string>; t(key: string, params?: TranslateParams, options?: TranslationOptions): Promise<string>; translateBatch(keys: string[], params?: TranslateParams | TranslateParams[], options?: TranslationOptions): Promise<string[]>; translateEncrypted(key: string, params?: TranslateParams, options?: TranslationOptions): Promise<string | EncryptedPayload>; translateBatchEncrypted(keys: string[], params?: TranslateParams | TranslateParams[], options?: TranslationOptions): Promise<Array<string | EncryptedPayload>>; updateConfig(options: Partial<EnhancedOptions>): Promise<this>; getConfig(): EnhancedOptions; setLanguage(locale: string): void; getLanguage(): string; getAvailableLanguages(): string[]; refresh(locale?: string): void; clearCache(locale?: string): void; has(key: string, options?: TranslationOptions): boolean; subscribe(listener: (event: RuntimeEvent) => void): () => void; on(type: string, listener: (event: RuntimeEvent) => void): this; off(type: string, listener: (event: RuntimeEvent) => void): this; addNamespace(name: string, translations: Record<string, Record<string, unknown>>): void; removeNamespace(name: string): void; getNamespace(name: string): Record<string, Record<string, unknown>> | null; listNamespaces(): string[]; addPlugin(plugin: { name: string; transform?(value: string): string }): () => void; removePlugin(name: string): void; getDiagnostics(): Array<Record<string, unknown>>; getMetrics(): Record<string, number>; resetMetrics(): void; getCacheInfo(): import('./index').RuntimeCacheInfo; setEncryptionKey(key: string): void; getEncryptionStatus(): boolean; encryptData(value: string): Promise<EncryptedPayload>; decryptData(payload: EncryptedPayload): Promise<string>; createTypedTranslator(): { t: I18nEnhancedRuntime['translate']; translate: I18nEnhancedRuntime['translate'] }; getTranslationMetadata(key: string): { text: string; language: string; key: string; params: Record<string, unknown>; encrypted: boolean }; sanitizeTranslation(text: unknown): string; dispose(): void; cleanup(): void; } export interface EncryptedPayload { encrypted: string; iv: string; authTag: string; } export function initI18nRuntime(options?: EnhancedOptions): Promise<I18nEnhancedRuntime>; export const initRuntime: typeof initI18nRuntime; export function getDefaultRuntime(): I18nEnhancedRuntime; export function translate(key: string, params?: TranslateParams, options?: TranslationOptions): Promise<string>; export const t: typeof translate; export const tTyped: typeof translate; export function translateBatch(keys: string[], params?: TranslateParams | TranslateParams[], options?: TranslationOptions): Promise<string[]>; export function translateEncrypted(key: string, params?: TranslateParams, options?: TranslationOptions): Promise<string | EncryptedPayload>; export function translateBatchEncrypted(keys: string[], params?: TranslateParams | TranslateParams[], options?: TranslationOptions): Promise<Array<string | EncryptedPayload>>; export function generateEncryptionKey(): string;