Easydict
是一个简洁易用的词典翻译 macOS App,能够轻松优雅地查找单词或翻译文本。Easydict 开箱即用,能自动识别输入文本语言,支持输入翻译,划词翻译和 OCR 截图翻译,可同时查询多个翻译服务结果,目前支持 有道词典,🍎 苹果系统词典,🍎 苹果系统翻译,OpenAI (ChatGPT),DeepL,Google,Bing,百度 和 火山翻译。
- 开箱即用,便捷查询单词或翻译文本。
- 自动识别输入语言,自动查询目标偏好语言。
- 自动划词查询,划词后自动显示查询图标,鼠标悬浮即可查询。
- 支持为不同窗口配置不同的服务。
- 支持智能查询模式。
- 支持系统 OCR 截图翻译,静默截图 OCR。
- 支持系统 TTS,支持 Bing,Google,有道和百度在线 TTS 服务。
- 支持 🍎 苹果系统词典,支持第三方词典,可手动导入 mdict 词典。
- 支持 macOS 系统翻译。详情请看 如何在 Easydict 中使用 🍎 macOS 系统翻译?
- 支持有道词典,OpenAI (ChatGPT),DeepL,Google,Bing,百度和火山翻译。
- 支持 48 种语言。
如果觉得这个应用还不错,给个 Star ⭐️ 支持一下吧 (^-^)
- Easydict
- 功能
- 目录
- 安装
- 使用
- OCR
- 语种识别
- TTS 服务
- 查询服务
- 智能查询模式
- URL Scheme
- 配合 PopClip 使用
- 偏好设置
- 应用内快捷键
- Tips
- 类似开源项目
- 初衷
- 贡献指南
- 致谢
- 声明
- 赞助支持
你可以使用下面两种方式之一安装。支持系统 macOS 11.0+
下载 最新版本的 Easydict。
2. Homebrew 安装(感谢 BingoKingo)
brew install easydict
如果你是一名开发者,或者对这个项目感兴趣,也可以尝试手动构建运行,整个过程非常简单,甚至不需懂 macOS 开发知识。
构建步骤
只需要下载这个 Repo,然后使用 Xcode 打开 Easydict.xcworkspace
文件(Easydict.xcodeproj
!),Cmd + R
编译运行即可。
如果编译出现签名错误,请在 target 的 Signing & Capabilities
页面改用你自己的开发者账号。如果你还不是苹果开发者,只要去 https://developer.apple.com/ 免费注册一下就可以。
如果不想注册苹果开发者,也可以用自动签名方式运行,参考下面截图,将 Team
改为 None,Signing Certificate
设置为 Sign to Run Locally,注意两个 target 都要改。
构建环境:Xcode 13+, macOS Big Sur 11.3+。为避免不必要的问题,建议使用最新的 Xcode 和 macOS 版本 tisfeng#79
⚠️ 由于最新代码使用了 String Catalog 功能,因此需要 Xcode 15+ 才能编译。如果你的 Xcode 版本较低,请使用 xcode-14 分支,注意这是一个固定版本分支,不受维护。
如果运行遇到下面错误,请尝试更新 CocoaPods,然后 pod install
。
DT_TOOLCHAIN_DIR cannot be used to evaluate LD_RUNPATH_SEARCH_PATHS, use TOOLCHAIN_DIR instead
Easydict 是开源软件,本身是安全的,但由于苹果严格的检查机制,打开时可能会遇到警告拦截。
常见问题
- 如果遇到下面 无法打开 Easydict 问题,请参考苹果使用手册 打开来自身份不明开发者的 Mac App
无法打开“Easydict.dmg”,因为它来自身份不明的开发者。
- 如果提示应用已损坏,请参考 macOS 绕过公证和应用签名方法
“Easydict”已损坏,无法打开。
在终端里输入以下命令,并输入密码即可。
sudo xattr -rd com.apple.quarantine /Applications/Easydict.app
Easydict 启动之后,除了应用主界面(默认隐藏),还会有一个菜单图标,点击菜单选项即可触发相应的功能,如下所示:
目前支持多种鼠标快捷划词方式:双击划词、鼠标滑动划词、三击划词(段落)和 Shift 划词(多段落),在某些应用中【鼠标滑动划词】可能会失败,此时可换其他划词方式。
快捷键划词在任意应用中都可以正常工作。如遇到不能鼠标划词的应用,可提 issue 解决 tisfeng#84
划词功能流程:Accessibility > AppleScript > 模拟快捷键,优先使用辅助功能 Accessibility 取词,在 Accessibility 取词失败(未授权或应用不支持)时,如果是浏览器应用(如 Safari, Chrome),会尝试使用 AppleScript 取词。若 AppleScript 取词还是失败,最后则进行强制取词——模拟快捷键 Cmd+C 取词。
因此,建议开启浏览器中的 允许 Apple 事件中的 JavaScript
选项,这样可以避免某些网页的事件拦截,例如这种 网页强制附带版权信息 问题,优化取词体验。
对于 Safari 用户,强烈建议开启该选项,因为 Safari 不支持 Accessibility 取词,而 AppleScript 取词体验远优于模拟快捷键取词。
-
划词翻译,需要开启
辅助功能
权限,鼠标划词功能仅在第一次使用时会触发申请辅助功能权限,授权后才能正常使用自动划词翻译功能。 -
截图翻译,需要开启
屏幕录制
权限,应用仅会在第一次使用 截图翻译 时会自动弹出权限申请对话框,若授权失败,后续需自己去系统设置中开启。
目前仅支持系统 OCR,稍后会引入第三方 OCR 服务。
系统 OCR 支持语言:简体中文,繁体中文,英语,日语,韩语,法语,西班牙语,葡萄牙语,德语,意大利语,俄语,乌克兰语。
目前支持系统语种识别,百度和 Google 语种识别三种,但考虑到在线识别的速度问题以及不稳定性(Google 还需要翻墙),其他两种识别服务只用于辅助优化。
默认使用系统语种识别,经调教后,系统语种识别的准确率已经很高了,能够满足大部分用户的需求。
如果在实际使用中还是觉得系统语种识别不准确,可在设置中开启百度语种识别或 Google 语种识别优化,但请注意,这可能会导致响应速度变慢,而且识别率也不会 100% 符合用户期望。如遇到识别有误情况,建议手动指定语种类型。
目前支持系统 TTS,支持 Bing,Google,有道和百度在线 TTS 服务。
- 系统 TTS:最稳定可靠,但效果不是很好。通常作为备用选项,即使用其他 TTS 报错时会改用系统 TTS。
- Bing TTS:综合效果最好,实时合成神经网络语音,但比较耗时,且文本越长,合成时间越长,目前限制最多只能合成 2000 个字符,约 10 分钟。
- Google TTS:英文效果不错,接口稳定,但需要翻墙,且一次请求最多只能合成 200 个字符。
- 有道 TTS:整体效果不错,接口稳定,尤其英语单词发音极好,但最多只能合成 600 个字符。
- 百度 TTS:英文句子发音很好,口音很有特色,但最多只能合成约 1000 个字符。
默认使用有道 TTS,用户可在设置中切换偏好 TTS 服务。
鉴于有道 TTS 的英语单词效果很好,因此英文单词优先使用有道 TTS,其他文本则使用默认 TTS 服务。
除系统 TTS 外,其他 TTS 服务都是非官方接口,可能不稳定。
目前支持有道词典,🍎 苹果系统词典,🍎 苹果系统翻译,ChatGPT,DeepL,Google,Bing,百度和火山翻译。
注意
⚠️ :Google 翻译中国版已无法使用,只能使用国际版,因此需要走代理才能使用 Google 翻译。
各个服务支持的语言
语言 | 有道词典 | 🍎 苹果系统翻译 | DeepL 翻译 | Bing 翻译 | Google 翻译 | 百度翻译 | 火山翻译 |
---|---|---|---|---|---|---|---|
中文(简体) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
中文(繁体) | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
英语 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
日语 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
韩语 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
法语 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
西班牙语 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
葡萄牙语 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
意大利语 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
德语 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
俄语 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
阿拉伯语 | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ |
瑞典语 | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
罗马尼亚语 | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
泰语 | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ |
斯洛伐克语 | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
荷兰语 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
匈牙利语 | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
希腊语 | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
丹麦语 | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
芬兰语 | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
波兰语 | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
捷克语 | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
土耳其语 | ❌ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ |
立陶宛语 | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
拉脱维亚语 | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
乌克兰语 | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
保加利亚语 | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
印尼语 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
马来语 | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
斯洛文尼亚语 | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
爱沙尼亚语 | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
越南语 | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ |
波斯语 | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
印地语 | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
泰卢固语 | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
泰米尔语 | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
乌尔都语 | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
菲律宾语 | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
高棉语 | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
老挝语 | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
孟加拉语 | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ |
缅甸语 | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ |
挪威语 | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
塞尔维亚语 | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
克罗地亚语 | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
蒙古语 | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
希伯来语 | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
Easydict 自动支持词典 App 中系统自带的词典,如牛津英汉汉英词典(简体中文-英语),现代汉语规范词典(简体中文)等,只需在词典 App 设置页启用相应的词典即可。
另外,苹果词典也支持自定义导入词典,因此我们可以通过导入 .dictionary 格式的词典来添加第三方词典,如简明英汉字典,朗文当代高级英语辞典等。
详情请看 如何在 Easydict 中使用 🍎 macOS 系统词典?
1.3.0 版本开始支持 OpenAI 翻译,也支持 Azure OpenAI 接口,暂时还没写界面,需要通过命令方式启用。
请先确保你有 APIKey。
easydict://writeKeyValue?EZOpenAIAPIKey=sk-xxx
查看 APIKey (其他 key 类似),如果查询成功,会将结果写到剪贴板。
easydict://readValueOfKey?EZOpenAIAPIKey
目前 OpenAI 支持三种查询模式:单词,句子和长翻译,默认都是开启的,其中单词和句子也可关闭。
考虑到 OpenAI 的 token 费用因素,因此提供默认关闭选项,写入下面命令后,OpenAI 将默认关闭查询,仅在用户手动点击展开按钮时才查询
easydict://writeKeyValue?EZOpenAIServiceUsageStatusKey=1
// 关闭查单词
easydict://writeKeyValue?EZOpenAIDictionaryKey=0
// 关闭句子分析
easydict://writeKeyValue?EZOpenAISentenceKey=0
温馨提示:如果你只是偶尔不希望分析句子,可以不用关闭句子类型,只需要在【句子】后面添加一个波浪符~,这样就会变成翻译类型了。
支持设置自定义域名和模型
// xxx 是 host,默认是 api.openai.com
easydict://writeKeyValue?EZOpenAIDomainKey=xxx
// xxx 是完整的请求地址,例如 https://api.ohmygpt.com/azure/v1/chat/completions
easydict://writeKeyValue?EZOpenAIEndPointKey=xxx
// xxx 默认是 gpt-3.5-turbo
easydict://writeKeyValue?EZOpenAIModelKey=xxx
由于 OpenAI 官方接口对用户 IP 有限制,因此如果你需要反向代理,可以参考这个反代项目 cloudflare-reverse-proxy
DeepL 免费版网页 API 对用户单个 IP 有频率限制,频繁使用会触发 429 too many requests 报错,因此 1.3.0 版本增加了对 DeepL 官方 API 的支持,暂时还没写界面,需通过命令方式启用。
如果你有 DeepL AuthKey,建议使用个人的 AuthKey,这样可以避免频率限制,用户体验会更好。如果没有,可以使用切换代理来规避 429 报错。
Note: 切换代理 IP,这是通用的解决方案,对其他有频率限制的服务同样有效。
在输入框输入下面代码,xxx 是你的 DeepL AuthKey,然后 Enter
easydict://writeKeyValue?EZDeepLAuthKey=xxx
- 默认优先使用网页版 API,在网页版 API 失败时会使用个人的 AuthKey(如果有)
easydict://writeKeyValue?EZDeepLTranslationAPIKey=0
- 优先使用个人的 AuthKey,失败时使用网页版 API。若高频率使用 DeepL,建议使用这种方式,能减少一次失败的请求,提高响应速度。
easydict://writeKeyValue?EZDeepLTranslationAPIKey=1
- 只使用个人的 AuthKey
easydict://writeKeyValue?EZDeepLTranslationAPIKey=2
目前 Bing 翻译使用的是网页接口,当触发频率限制 429 报错时,除了切换代理,还可以通过手动设置请求 cookie 来续命,具体续命多久暂时不清楚。
具体步骤是,使用浏览器打开 Bing Translator,登录,然后在控制台执行以下代码获取 cookie
cookieStore.get("MUID").then(result => console.log(encodeURIComponent("MUID=" + result.value)));
最后将 cookie 使用命令写入 Easydict
// xxx 是前面获取的 cookie
easydict://writeKeyValue?EZBingCookieKey=xxx
注意,Bing TTS 用的也是网页接口,同样容易触发接口限制,且不会报错提示,因此如果将 Bing 设为默认的 TTS,建议设置 cookie。
目前查询服务主要分为两类:查询单词(如苹果词典)和翻译文本(如 DeepL),另外有些服务(如有道和谷歌),同时支持查询单词和翻译文本。
typedef NS_OPTIONS(NSUInteger, EZQueryTextType) {
EZQueryTextTypeNone = 0, // 0
EZQueryTextTypeTranslation = 1 << 0, // 01 = 1
EZQueryTextTypeDictionary = 1 << 1, // 10 = 2
EZQueryTextTypeSentence = 1 << 2, // 100 = 4
};
Easydict 可以根据查询文本的内容,自动启用相应的查询服务。
具体来说,在智能查询模式下,当查询单词时,则只会调用支持【单词查询】的服务;当翻译文本时,则只会调用支持【文本翻译】的服务。
对于单词,支持查询单词的服务效果明显比翻译更好,而翻译文本时,启用单词查询服务
默认情况下,所有的翻译服务都支持单词查询(单词也属于文本的一种),用户可以手动调整,如设置 Google 智能模式只翻译文本,只需要使用下面命令修改为 translation | sentence
即可。
easydict://writeKeyValue?Google-IntelligentQueryTextType=5
同样,对于一些同时支持查询单词和翻译文本的服务,如有道词典,也可以设置它智能模式只查询单词,设置类型为 dictionary
easydict://writeKeyValue?Youdao-IntelligentQueryTextType=2
默认情况下,只有【迷你窗口】启用了智能查询模式,用户也可以手动对【侧悬浮窗口】启用智能查询模式:
easydict://writeKeyValue?IntelligentQueryMode-window2=1
window1 代表迷你窗口,window2 代表侧悬浮窗口,后面的 0 表示关闭,1 表示开启。
注意:智能查询模式,只表示是否智能启用该查询服务,用户可随时手动点击服务右侧箭头展开查询。
支持 Easydict 应用内便捷查询。在输入框或翻译结果,如遇到不熟悉的单词,可通过重压右击唤出菜单,选择第一个“应用内查询”。
Easydict 支持 URL scheme 快速查询:easydict://xxx
,如 easydict://good。
如果查询内容 xxx 包含特殊字符,需进行 URL encode,如 easydict://good%2Fgirl
你需要先安装 PopClip,然后为 Easydict
设置一个快捷键,默认是 Opt + D
,那么你就可以通过 PopClip
快速打开 Easydict
啦!
使用方法:选中以下代码块,PopClip
会显示 "安装 Easydict",点击它即可。
注意
⚠️ : 如果你修改了默认的快捷键,你需要跟着修改下面脚本中的快捷键key combo
。
# popclip
name: Easydict
icon: square E
key combo: option D
参考:https://github.com/pilotmoon/PopClip-Extensions#key-combo-string-format
设置页提供了一些偏好设置修改,如开启查询后自动播放单词发音,修改翻译快捷键,开启、关闭服务,或调整服务顺序等。
Easydict 有 3 种窗口类型,可以分别为它们设置不同的服务。
- 迷你窗口:鼠标自动划词时显示。
- 侧悬浮窗口:快捷键划词和截图翻译时显示。
- 主窗口:默认关闭,可在设置中开启,程序启动时显示。(稍后会增强主窗口功能)
Easydict 有一些应用内快捷键,方便你在使用过程中更加高效。
不同于前面的翻译快捷键全局生效,下面这些快捷键只在 Easydict 窗口前台显示时生效。
Enter
: 输入文本后,按下 Enter 开始查询。Shift + Enter
: 输入换行。Cmd + ,
: 打开设置页。Cmd + Q
: 退出应用。Cmd + K
: 清空输入框。Cmd + Shift + K
: 清空输入框和查询结果,等同于点击输入框右下角的清空按钮。Cmd + I
: 聚集输入框。(Focus Input)Cmd + Shift + C
: 复制查询内容。Cmd + Shift + J
: 复制首个翻译结果。Cmd + S
: 播放查询文本的发音。(Play Sound)Cmd + R
: 再次查询。(Retry Query)Cmd + T
: 交换翻译语言。(Toggle Translate Language)Cmd + P
: 钉住窗口。(Pin Window,再次按下取消钉住)Cmd + W
: 关闭窗口。Cmd + Enter
: 默认打开 Google 搜索引擎,搜索内容为输入文本,效果等同手动点击右上角的浏览器搜索图标。Cmd + Shift + Enter
: 若电脑上安装了欧路词典 App,则会在 Google 图标左边显示一个 Eudic 图标,动作为打开欧路词典 App 查询。
只要唤醒了查询窗口,就可以通过快捷键 Cmd + ,
打开设置页。若不小心隐藏了菜单栏图标,可通过这种方式重新开启。
若发现 OCR 识别结果不对,可通过点击”识别为 xx“按钮指定识别语言来修正 OCR 结果。
- immersive-translate: 一个好用的沉浸式双语网页翻译扩展。
- ext-saladict: 沙拉查词,一个浏览器查词和翻译扩展。
- openai-translator: 基于 ChatGPT API 的划词翻译浏览器插件和跨平台桌面端应用。
- Raycast-Easydict: 我的另一个开源项目,一个 Raycast 扩展版本的 Easydict。
查询单词和翻译文本,是日常生活非常实用的功能,我用过很多词典翻译软件,但都不满意,直到遇见了 Bob。Bob
是一款优秀的翻译软件,但它不是开源软件,自从上架苹果商店后也不再免费提供应用更新。
作为一名开发者,也是众多开源软件的受益者,我觉得,这世界上应该存在一个免费开源版本的 Bob,于是我开发了 Easydict。现在,我每天都在大量使用 Easydict,我很喜欢它,也希望能够让更多的人了解它、使用它。
开源,让世界更美好。
如果您对本项目感兴趣,我们非常欢迎参与到项目的贡献中,我们会尽可能地提供帮助。
目前项目主要有两个分支,dev 和 master,dev 分支代码通常是最新的,可能包含一些正在开发中的功能。master 分支代码是稳定的,会定期合并 dev 分支代码。
如果您认为项目有需要改进的地方,或者有新的功能想法,欢迎提交 PR:
如果 PR 是对已存在的 issue 进行 bug 修复或者功能实现,请提交到 dev 分支。
如果 PR 是关于某个新功能或者涉及 UI 变动,建议先开个 issue 讨论一下,避免功能重复或者冲突。
- 这个项目的灵感来自 saladict 和 Bob,且初始版本是以 Bob (GPL-3.0) 为基础开发。Easydict 在原项目上进行了许多改进和优化,很多功能和 UI 都参考了 Bob。
- 截图功能是基于 isee15 的 Capture-Screen-For-Multi-Screens-On-Mac,并在此基础上进行了优化。
- 鼠标划词功能参考了 PopClip。
Easydict 为 GPL-3.0 开源协议,仅供学习交流,任何人都可以免费获取该产品和源代码。如果你认为您的合法权益受到侵犯,请立即联系作者。你可以自由使用源代码,但必须附上相应的许可证和版权声明。
Easydict 作为一个免费开源的非盈利项目,目前主要是作者个人在开发和维护,如果你喜欢这个项目,觉得它对你有帮助,可以考虑赞助支持一下这个项目,用爱发电,让它能够走得更远。
如果发电量足够,能够 Cover 苹果的 $99 年费,我会注册一个开发者账号,以解决应用签名问题,让更多人能够方便地使用 Easydict。
如果不希望用户名显示在列表中,请选择匿名方式。
日期 | 用户 | 金额 | 留言 |
---|---|---|---|
2023-05-22 | 🍑 | 50 | 感谢开源 |
2023-05-22 | - | 200 | |
2023-05-22 | - | 150 | |
2023-05-24 | 陈佩 | 50 | 加油 有没有可能有 Linux 版?(暂时没有) |
2023-05-27 | 自由。 | 100 | 感谢 |
2023-06-01 | 梦遇 | 10 | 感谢 |
2023-06-05 | 挨揍的免子 | 1 | 谢谢 🙏 |
2023-06-17 | 妙才 | 5 | ❤️ |
2023-06-19 | 1 | 20 | 加油,有没有可能调用 chatgpt 来翻译呀?(参见#28) |
2023-06-19 | 许冠英 | 6.6 | 感谢开发这么好用的软件,很喜欢。 |
2023-06-20 | lidashuang | 10 | 感谢 |
2023-07-03 | 小阳 | 2 | |
2023-07-06 | 30 | 谢谢 | |
2023-07-11 | 清清 🎵 在努力 ✨ | 20 | |
2023-07-21 | 50 | ty | |
2023-07-25 | 10 | 感谢开源 | |
2023-08-07 | guanyuan | 58 | 开源万岁 |
2023-08-29 | 非此即彼 | 5 | 优雅! |
2023-09-04 | aLong | 10 | 感谢 🙏,期待功能继续完善。 |
2023-09-13 | 一座山的秋叶 | 5 | |
2023-09-17 | 桂 | 200 | 感谢开源 |
2023-09-24 | Austen | 10 | 支持开源作者 |
2023-10-19 | DANIELHU | 7.3 | 感谢开源,希望能加入生词本功能。(后面会加,请等待 33) |
2023-10-25 | tzcsky | 10 | 非常好的软件 |
2023-10-26 | 10 | 开源万岁🎉尽点绵薄之力,感谢! |