MCPcopy
hub / github.com/Bistutu/FluentRead / handleTranslation

Function handleTranslation

entrypoints/main/trans.ts:165–189  ·  view source on GitHub ↗
(mouseX: number, mouseY: number, delayTime: number = 0)

Source from the content-addressed store, hash-verified

163
164// 处理鼠标悬停翻译的主函数
165export function handleTranslation(mouseX: number, mouseY: number, delayTime: number = 0) {
166 // 检查配置
167 if (!checkConfig()) return;
168
169 clearTimeout(hoverTimer);
170 hoverTimer = setTimeout(() => {
171
172 let node = grabNode(document.elementFromPoint(mouseX, mouseY));
173
174 // 判断是否跳过节点
175 if (skipNode(node)) return;
176
177 // 防抖
178 let nodeOuterHTML = node.outerHTML;
179 if (htmlSet.has(nodeOuterHTML)) return;
180 htmlSet.add(nodeOuterHTML);
181
182 // 根据翻译模式进行翻译
183 if (config.display === styles.bilingualTranslation) {
184 handleBilingualTranslation(node, delayTime > 0); // 根据 delayTime 可判断是否为滑动翻译
185 } else {
186 handleSingleTranslation(node, delayTime > 0);
187 }
188 }, delayTime);
189}
190
191// 双语翻译
192export function handleBilingualTranslation(node: any, slide: boolean) {

Callers 1

Calls 5

checkConfigFunction · 0.90
grabNodeFunction · 0.90
skipNodeFunction · 0.90
handleSingleTranslationFunction · 0.85

Tested by

no test coverage detected