停止从图像复制粘贴:使用 Python 构建通用屏幕翻译器

发布: (2026年2月6日 GMT+8 02:33)
5 min read
原文: Dev.to

Source: Dev.to

介绍 Lingo‑Live

Lingo‑Live 起源于我们许多人都曾感受过的挫败感:想要从 YouTube 视频(或任何屏幕内容)中复制文字几乎是不可能的。大多数人要么手动逐字输入,要么掏出手机使用 Google Lens——既笨拙又打断注意力,远非理想。

Lingo‑Live 是一款简洁的桌面应用,能够即时翻译你屏幕上看到的任何内容,宛如拥有超能力。

  • 隐形 – 静默运行于后台
  • 即时 – 按下热键,选取区域,即可得到翻译
  • 现代 – 玻璃质感 UI、暗色模式、模糊效果

按下 Ctrl + Alt + T,在屏幕任意位置拖动选择,翻译后的文字会直接显示在你正在操作的内容之上。

“玻璃”覆盖层

最棘手的部分是创建一个始终置顶且不令人烦扰的窗口。我使用 CustomTkinter 构建了一个无边框、半透明的覆盖层,轻盈且现代。

  • 始终置顶,确保翻译内容可见
  • 半透明,仍能看到下方的上下文
  • 无边框 – 没有标题栏;自定义拖拽实现

最终的效果更像是桌面上的一层薄膜,而不是传统的应用程序。

眼睛(OCR)

当你触发热键时,Lingo‑Live 并不尝试“读取屏幕”。它的流程是:

  1. 让你选取一个区域
  2. 对该区域进行截图
  3. 将截图发送给 Tesseract OCR,从像素中提取文字
# OCR step
from PIL import ImageGrab
screenshot = ImageGrab.grab(bbox=(x1, y1, x2, y2))
text = ocr_engine.extract_text(screenshot)

这一步就是魔法的起点——把图像转化为真实的文本。

大脑(翻译)

OCR 得到类似 こんにちは 的文字后,我们需要一个能够真正理解语义的翻译。这时 Lingo.dev 派上用场。它不像单纯的词典替换,而是能够正确处理上下文,这在 UI 文本、错误信息和游戏对白等场景中差别巨大。翻译结果自然流畅,而非机械化。

声音(文本转语音)

有时你不想阅读,只想听。为此我加入了 Edge TTS,它使用 Microsoft Edge 中的高质量语音。Lingo‑Live 现在可以朗读翻译内容——非常适合练习发音或保持免提操作。

“鱼是生活在水中的脊椎动物……”

提升体验:AI 摘要

完整翻译固然好,但有时你只想抓住要点。Google Gemini 驱动的 Summarize 按钮可以帮你:

  1. 将翻译后的文本发送给 Gemini
  2. Gemini 返回一条简洁的一句话摘要

瞬间获取核心信息——非常适合快速浏览外文文章、冗长的错误信息或 RPG 对话文本。

让它属于你:真正有用的设置

Lingo‑Live 包含一个基于 JSON 的完整设置系统,让你可以自由定制体验:

  • 更改热键(例如 Alt + Z
  • 切换主题(默认暗色模式)
  • 选择不同字体(例如 Roboto → Segoe UI)
{
  "hotkey": "Ctrl+Alt+T",
  "theme": "dark",
  "font": "Segoe UI"
}

入门指南

该仓库是开源的。克隆代码,探索实现,告别像素复制粘贴的烦恼。

git clone https://github.com/Samar-365/lingo_live.git

致谢

特别感谢 @sumitsaurabh927@maxprilutskiy 在整个黑客马拉松期间的持续指导,以及提供的这次绝佳机会。

祝编码愉快!

Back to Blog

相关文章

阅读更多 »