/** * UI18N Phase 1: 运行时自动翻译 * 极简实现 - 自动提取DOM文本并翻译 * * 符合精益原则: * - 仅提取纯文本节点(≤200行) * - 直接替换DOM,无污染(≤100行) * - 总代码≤300行 */ /** * 提取的文本信息 */ export interface ExtractedText { text: string; nodes: Node[]; } /** * 自动提取配置 */ export interface AutoExtractConfig { root?: Element | Document; ignoreSelectors?: string[]; minLength?: number; maxLength?: number; } /** * 自动提取DOM中的所有文本 * * 使用TreeWalker API遍历文本节点 * 极简版本:只提取文本节点,不提取属性 * * @param config 提取配置 * @returns Map<原文, 节点信息> */ export declare function extractTextsFromDOM(config?: AutoExtractConfig): Map; /** * 应用翻译结果到DOM * * 直接替换文本节点内容,不改变DOM结构 * 优于Google翻译的包裹方式 * * @param extractedTexts 提取的文本Map * @param translations 翻译结果Map */ export declare function applyTranslations(extractedTexts: Map, translations: Map): void; /** * localStorage缓存管理 * 极简版本:简单的key-value存储 */ export declare class RuntimeCache { private cachePrefix; private ttl; constructor(ttl?: number); /** * 获取缓存的语言包 */ get(language: string): Map | null; /** * 保存语言包到缓存 */ set(language: string, translations: Map): void; /** * 清除指定语言的缓存 */ clear(language?: string): void; } /** * 批量翻译文本 * * @param texts 要翻译的文本数组 * @param targetLang 目标语言 * @param translateFn 翻译函数 * @param batchSize 批次大小 * @returns 翻译结果Map */ export declare function batchTranslate(texts: string[], targetLang: string, translateFn: (text: string, lang: string) => Promise, batchSize?: number): Promise>; //# sourceMappingURL=runtime-auto.d.ts.map