banner
liuyuxin

liuyuxin

想成为独立开发者的在读医学生!
jike
twitter
github
telegram
email

开源了一个划词翻译软件

Hi ~ 这里是 liuyuxin ,由于国庆假期和其他一些个人原因,我的周报停更很久了。准备重新收拾一下,从下周开始恢复更新。

今天的这篇文章主要谈谈我最近在做的一个开源项目:基于 Flutter 的划词翻译软件。

背景回顾#

我在 Weekly 5:Rust 学起来 中提到,从 Windows 系统换到 Linux 后,我最不适应问题之一是之前在用的划词翻译软件 pot 对 Ubuntu 的支持不太好。尽管我现在已经固定在 Kubuntu 系统,pot 的翻译体验依旧糟糕,每次使用快捷键进行划词翻译时响应时间都很长。于是我打算自己写一个划词翻译的软件,力求快捷键响应速度快一些。

技术方面选用了我较熟悉的 Flutter 框架,当时我正在忙着把 MeRead 扩展到桌面平台,正好也可以借此熟悉一下 Flutter 在桌面端的应用。

开发经过#

得益于 Flutter 优秀的开发速度,最初只花了半个晚上就弄出来一个能用的 demo,通过调用百度翻译的 API 进行文本翻译。国庆假期后,又陆陆续续花了一些时间进行优化和改进,接入了更多的翻译服务。就「划词翻译」这一功能而言,目前已经很完善了。

于是准备开源。先随随便便从 iconfont 上找了个图标做 logo,稍微整理一下代码文件,再用 VitePress 做一个文档网站,最后上传到 Github,就有了现在的「质感翻译」。

为啥取名叫「质感翻译」?因为毫无设计能力的我直接使用了 Flutter 内置 Material You 组件进行 UI 的堆砌。使用了「质感设计」的翻译软件干脆就叫「质感翻译」咯~

开源地址奉上:

糊出来的官网在这里: https://metranslate.top

目前 star 依旧为 0,求 star、issue、pr!

目前成果#

先放一张截图:

质感翻译

目前「质感翻译」接入了 8 个翻译服务和 2 个国产 AI 大模型,分别为:

说明翻译服务
无需配置DeepL 翻译、Google 翻译、Yandex 翻译、火山翻译 Free
需要自行申请 API百度翻译、彩云小译、火山翻译、小牛翻译、有道翻译
AI 大模型MiniMax、智谱 AI

功能方面,目前完成的有:

  • 自定义快捷键和全局字体
  • 自动复制和删除换行
  • 设置代理
  • AI 大模型调参
  • 以及历史记录、开机自启、自定义窗口透明度、窗口跟随鼠标等……

目前打包了 Windows 和 Linux 两个版本,发在 Github,欢迎前往下载体验:

https://github.com/gvenusleo/MeTranslate/releases/latest

说明一下,我是在 Linux 上进行的开发和测试,软件在 Windows 上会不会有什么未知的 Bug,我也不知道……

未来计划#

由于开发「质感翻译」的初衷是作为自用软件,因此软件的功能设计一直是跟着自己的感觉走。现在已经完成了我最主要的需求:划词翻译。后续应该会考虑迭代添加以下功能:

  • 截图翻译
  • 文档翻译
  • 接入更多的翻译服务和 AI 大模型
  • 更多的快捷键支持
  • 等等……

也欢迎在 Github 给我反馈!

最后的最后#

亲自体验过,才知道其实 Flutter 目前对桌面端的支持并不完善,不支持窗口多开,字体渲染一塌糊涂,很多桌面端需求被官方排在移动端之后,不少功能要靠社区 Packages 实现。但好在性能还是合格的(至少目前「质感翻译」的内存占用要比 pot 好很多)。

最后的最后:

  • 感谢 leanflutter 提供的一系列桌面端 Flutter package。
  • 感谢 pot 给我提供了灵感来源和设计参考。
  • 感谢我的室友,作为除我之外「质感翻译」的第一个用户,帮我抓 Bug 。
加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。