@ui18n/angular
Version:
🅰️ Modern Angular internationalization with standalone components, signals, and dependency injection support for Angular 15+
326 lines • 9.63 kB
TypeScript
import { UI18nConfig, TranslationResult, SupportedLanguage } from './types';
import { CacheStats } from './cache-manager';
import { DualAPIConfig } from './api-config';
/**
* UI18n 核心类
* 提供完整的国际化翻译功能
*/
export declare class UI18n {
private config;
private cacheManager;
private aiTranslator?;
private currentLanguage;
private serviceModeManager;
private translationPipeline;
private versionControlManager?;
private fallbackManager?;
private optimizedCache?;
private secureConfigManager?;
private logger;
private batchOptimizer?;
private translationQueue?;
constructor(config: UI18nConfig);
/**
* 翻译文本
* @param text 要翻译的文本
* @param targetLanguage 目标语言(可选,默认使用当前语言)
* @param options 翻译选项
* @returns 翻译结果
*/
translate(text: string, targetLanguage?: SupportedLanguage, options?: {
context?: string;
forceAI?: boolean;
skipCache?: boolean;
priority?: 'low' | 'normal' | 'high' | 'urgent';
useBatch?: boolean;
}): Promise<TranslationResult>;
/**
* 简化的翻译方法(类似i18n的t方法)
* @param text 要翻译的文本
* @param options 选项
* @returns 翻译后的文本
*/
t(text: string, languageOrOptions?: SupportedLanguage | {
language?: SupportedLanguage;
context?: string;
}): Promise<string>;
/**
* 批量翻译
* @param texts 要翻译的文本数组
* @param targetLanguage 目标语言
* @param options 选项
* @returns 翻译结果数组
*/
translateBatch(texts: string[], targetLanguage?: SupportedLanguage, options?: {
context?: string;
maxConcurrency?: number;
useOptimizer?: boolean;
priority?: 'low' | 'normal' | 'high';
}): Promise<TranslationResult[]>;
/**
* 兼容 CLI 的批量翻译映射接口
* @param texts 文本数组
* @param targetLanguage 目标语言
* @returns Record<原文, 译文>
*/
tBatch(texts: string[], targetLanguage?: SupportedLanguage): Promise<Record<string, string>>;
/**
* 设置当前语言
* @param language 语言代码
*/
setLanguage(language: SupportedLanguage): void;
/**
* 获取当前语言
* @returns 当前语言代码
*/
getCurrentLanguage(): SupportedLanguage;
/**
* 自动检测并设置系统语言
*/
detectAndSetSystemLanguage(): void;
/**
* 获取支持的语言列表
* @returns 支持的语言数组
*/
getSupportedLanguages(): SupportedLanguage[];
/**
* 获取内置词典统计信息
*/
getBuiltinStats(): {
totalKeys: number;
supportedLanguages: SupportedLanguage[];
coverage: Record<SupportedLanguage, number>;
};
/**
* 获取缓存统计信息
*/
getCacheStats(): CacheStats;
/**
* 清除缓存
* @param pattern 可选的匹配模式
*/
clearCache(pattern?: string): Promise<void>;
/**
* 清理过期缓存
*/
cleanupCache(): Promise<void>;
/**
* 预热常用词汇
* @param language 目标语言
* @returns 预热的词汇数量
*/
preloadCommonTerms(language: SupportedLanguage): Promise<number>;
/**
* 搜索翻译
* @param query 搜索关键词
* @param language 搜索语言
* @returns 匹配的翻译结果
*/
searchTranslations(query: string, language?: SupportedLanguage): import("./types").TranslationSearchResult[];
/**
* 验证AI配置
* @returns 配置是否有效
*/
validateAIConfig(): Promise<boolean>;
/**
* 估算翻译成本
* @param text 要翻译的文本
* @returns 估算成本(美元)
*/
estimateTranslationCost(text: string): number;
/**
* 获取语言显示名称
* @param language 语言代码
* @param displayLanguage 显示语言
* @returns 语言显示名称
*/
getLanguageDisplayName(language: SupportedLanguage, displayLanguage?: SupportedLanguage): string;
/**
* 调试日志
*/
private log;
/**
* 切换服务模式
* @param mode 服务模式
*/
switchServiceMode(mode: 'self-hosted' | 'cloud' | 'hybrid'): Promise<void>;
/**
* 获取当前服务模式
*/
getCurrentServiceMode(): 'self-hosted' | 'cloud' | 'hybrid';
/**
* 获取服务模式统计
*/
getServiceModeStats(): import("./service-mode").ServiceModeStats;
/**
* 获取翻译管道统计
*/
getTranslationPipelineStats(): import("./translation-pipeline").PipelineStats;
/**
* 获取版本控制统计(如果启用)
*/
getVersionControlStats(): import("./version-control").VersionControlStats | undefined;
/**
* 同步语言包(如果启用版本控制)
*/
syncLanguagePack(language: SupportedLanguage): Promise<boolean>;
/**
* 同步所有语言包(如果启用版本控制)
*/
syncAllLanguagePacks(): Promise<Map<string, boolean>>;
/**
* 检查语言包更新(如果启用版本控制)
*/
checkForUpdates(): Promise<Map<any, any>>;
/**
* 回滚到指定版本(如果启用版本控制)
*/
rollbackToVersion(language: SupportedLanguage, version: string): Promise<boolean>;
/**
* 获取版本历史(如果启用版本控制)
*/
getVersionHistory(language: SupportedLanguage): import("./version-control").LanguageVersion[];
/**
* 获取批量优化器统计(如果启用)
*/
getBatchOptimizerStats(): undefined;
/**
* 获取批量优化器队列状态(如果启用)
*/
getBatchOptimizerQueueStatus(): {
currentOptimalBatchSize: number;
pendingBatches: number;
activeBatches: number;
mergingBuffer: number;
totalRequests: number;
batchedRequests: number;
mergedRequests: number;
costSavings: number;
averageBatchSize: number;
batchingEfficiency: number;
} | undefined;
/**
* 获取成本统计(如果启用批量优化器)
*/
getCostStats(): {
totalRequests: number;
batchedRequests: number;
mergedRequests: number;
costSavings: number;
batchingEfficiency: number;
} | undefined;
/**
* 暂停批量处理(如果启用批量优化器)
*/
pauseBatchProcessing(): void;
/**
* 恢复批量处理(如果启用批量优化器)
*/
resumeBatchProcessing(): void;
/**
* 清空批量处理队列(如果启用批量优化器)
*/
clearBatchQueue(): void;
/**
* 获取完整的系统状态
*/
getSystemStatus(): {
currentLanguage: string;
serviceMode: "self-hosted" | "cloud" | "hybrid";
serviceModeStats: import("./service-mode").ServiceModeStats;
cacheStats: CacheStats;
builtinStats: {
totalKeys: number;
supportedLanguages: SupportedLanguage[];
coverage: Record<SupportedLanguage, number>;
};
translationPipelineStats: import("./translation-pipeline").PipelineStats;
versionControlStats: import("./version-control").VersionControlStats | undefined;
supportedLanguages: string[];
};
/**
* 销毁实例,清理资源
*/
destroy(): void;
/**
* 初始化智能回退管理器
*/
private initializeFallbackManager;
/**
* 初始化批量优化器
*/
private initializeBatchOptimizer;
private buildFallbackOrder;
/**
* 注册翻译提供者
*/
private registerProviders;
/**
* 使用智能回退机制进行翻译
*/
translateWithFallback(text: string, targetLanguage?: SupportedLanguage, options?: {
context?: string;
forceAPI?: 'aiProvider' | 'cloudService';
skipCache?: boolean;
priority?: 'low' | 'normal' | 'high';
}): Promise<TranslationResult & {
fallbackInfo?: any;
}>;
/**
* 映射回退源到翻译结果源
*/
private mapFallbackSourceToTranslationSource;
/**
* 获取回退管理器的健康状态
*/
getFallbackHealth(): Promise<Map<string, any> | null>;
/**
* 重置指定提供者的熔断器
*/
resetProviderCircuitBreaker(providerName: string): void;
/**
* 获取回退统计信息
*/
getFallbackStats(): any;
/**
* 保存安全配置到加密文件
*/
saveSecureConfig(config: Partial<DualAPIConfig>): boolean;
/**
* 加载安全配置
*/
loadSecureConfig(): Partial<DualAPIConfig> | null;
/**
* 验证配置文件完整性
*/
validateSecureConfig(): {
valid: boolean;
errors: string[];
};
/**
* 轮转加密密钥
*/
rotateEncryptionKey(newKey?: string): boolean;
/**
* 删除安全配置文件
*/
deleteSecureConfig(): boolean;
/**
* 获取安全配置状态
*/
getSecureConfigStatus(): {
initialized: boolean;
hasSecureFile: boolean;
validationResult?: {
valid: boolean;
errors: string[];
};
};
}
/**
* 创建UI18n实例的工厂函数
* @param config 配置选项
* @returns UI18n实例
*/
export declare function createUI18n(config: UI18nConfig): UI18n;
//# sourceMappingURL=ui18n.d.ts.map