TransPaste 升级:一个剪贴板翻译工具的自我修养

前情提要:

TransPaste :一款基于本地大语言模型的轻量级剪贴板翻译工具

TransPaste:本地 AI 翻译工具新版本升级后支持更多细粒度的翻译控制

做开源项目有个挺矛盾的地方——明知道有些代码写得不理想,但想着"反正能跑",就一直拖着。TransPaste 之前就是这样。

0.2.x 版本跑起来没问题,但里面埋了不少坑。DEBUG 日志硬编码成 True,生产环境跑起来满屏都是调试信息。版本号一个写 0.2.0 一个写 0.2.1,连我自己都搞不清到底哪个是对的。还有 LLM 返回的 Markdown 代码块不清理,翻译结果里时不时冒出个 ```text,看着就难受。

这次 0.3.0 把这些历史债基本还清了,也加了些真正实用的功能。


修了什么

最要命的是日志系统。之前用 print() 到处打日志,现在换成了 Python 标准的 logging 模块。--debug 参数终于能用了——不传就安静跑,传了才输出详细信息。

版本号统一成 0.3.0。这件事说起来简单,但之前拖了快两个月,每次想改都觉得"下次一起改吧",结果就一直拖着。

Markdown 代码块清理加上了。LLM 有时候会自作聪明地把翻译结果包在 ```text 里,现在 _post_process() 会自动剥掉这层外壳。

进度估算也改了。之前用 len(text) // 2 来估算进度,这个 heuristic 粗糙到我自己都看不下去。现在改成基于实际响应字符数的跟踪,虽然还是估算,但至少靠谱了不少。


加了什么

快捷键 Ctrl+Shift+T。这个功能的需求来自一个很具体的场景:你在看外文文档,突然需要复制一段原文不翻译。之前只能右键托盘图标关掉,现在一个快捷键就行。

翻译历史。最多存 50 条,跨会话保留。有人问为什么是 50 而不是 100 或者无限?因为 QSettings 存 JSON 字符串,太大影响启动速度。50 条对绝大多数人来说够了,真要找更早的记录,去翻聊天记录可能更快。

自定义提示词。Settings 菜单里新增了这个选项。你可以写自己的翻译模板,用 {source_lang}、{target_lang}、{text} 做占位符。这个功能的想法很简单——默认的提示词再好,也不可能满足所有人的需求。有人要学术翻译,有人要口语化,与其加一堆预设风格,不如让用户自己写。

远程 Ollama 支持。--base-url 参数指向任意地址。团队里有人在公司服务器上跑 Ollama,本地只装 TransPaste,这个场景之前不支持。

HTTP 代理。--proxy 参数。国内用户都懂。

关于对话框。右键托盘图标能看到版本号、许可证和 GitHub 链接。小事,但之前确实没有。


代码层面

所有类和方法都补了 docstrings。843 行的主文件之前一个文档字符串都没有,现在读起来终于不像天书了。

类型注解补全了。Python 的类型提示不是强制的,但有了之后 IDE 的自动补全和错误检查好用很多。


一些想法

做这个项目的过程中,我越来越觉得一个小工具的"好用",不在于功能多,而在于它能不能安静地待在该待的地方。

TransPaste 的定位很明确——你复制,它翻译,完事。不需要登录,不需要注册,不需要联网(除了连本地 Ollama),不需要把数据传到任何云服务器。所有的翻译都在你自己的机器上完成。

隐私这件事,说起来容易做起来难。很多工具打着"本地运行"的旗号,实际上还是要联网验证许可证、收集使用数据。TransPaste 从第一天起就没打算做这些。GPL-3.0 许可证保证这一点不会被改变——任何人修改后分发,都必须开源。

0.3.0 不算大版本,但该修的修了,该加的加了。下一步可能会做翻译质量评估、批量翻译、或者更好的语言自动检测。但这些都是后话,先把当前的版本用稳再说。

如果你在用 TransPaste,欢迎提 issue 或者 PR。如果还没用过,pip install transpaste 就行——前提是 Ollama 已经在跑了。

预览时标签不可点

Close

更多

Name cleared

微信扫一扫赞赏作者

Like the AuthorOther Amount

赞赏后展示我的头像

作品

暂无作品

Like the Author

Other Amount

¥

最低赞赏 ¥0

OK

Back

Other Amount

更多

赞赏金额

¥

最低赞赏 ¥0

1

2

3

4

5

6

7

8

9

0

.

虚拟化,操作系统,以及一些小工具 · 目录

虚拟化,操作系统,以及一些小工具

上一篇移植Tiny-Fastboot-Script到macOS版本给Motorola G100国行版本(XT2533-4)刷入G67Power 5G国际版系统下一篇NuoYi 更新:新增在线转换引擎,没显卡也不怕,长文档也不那么头疼

Close

更多

搜索「」网络结果

Close

调整当前正文文字大小

更多

100%