Giter VIP home page Giter VIP logo

tisfeng / easydict Goto Github PK

View Code? Open in Web Editor NEW
6.0K 28.0 299.0 104.65 MB

一个简洁优雅的词典翻译 macOS App。开箱即用,支持离线 OCR 识别,支持有道词典,🍎 苹果系统词典,🍎 苹果系统翻译,OpenAI,Gemini,DeepL,Google,Bing,腾讯,百度,阿里,小牛,彩云和火山翻译。A concise and elegant Dictionary and Translator macOS App for looking up words and translating text.

License: GNU General Public License v3.0

Objective-C 82.32% C 0.17% Swift 15.49% JavaScript 1.01% Ruby 0.07% Shell 0.02% HTML 0.91%
dictionary translate app macos baidu deepl google translator youdao ocr

easydict's Introduction

Hello World, I’m Tisfeng 🍃

I’m currently working on Easydict.

一个简洁优雅的词典翻译 macOS App。开箱即用,支持离线 OCR 识别,支持有道词典,🍎 苹果系统词典,🍎 苹果系统翻译,ChatGPT,DeepL,Google,Bing,腾讯,百度,小牛,彩云和火山翻译。

A concise and elegant Dictionary and Translator macOS App for looking up words and translating text.

Easdict

Statistics

tisfeng readme card tisfeng top langs

easydict's People

Contributors

akashark avatar bigguang97 avatar c3qo avatar canglongcl avatar choykarl avatar izualx avatar jerry23011 avatar kyle-ye avatar liyafly avatar liziqiang avatar neveragain11 avatar phlpsong avatar rainzm avatar roiocam avatar tisfeng avatar yam-liu avatar zzpwestlife avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

easydict's Issues

无法打开“Easydict.dmg”,因为它来自身份不明的开发者。macos无法验证此 App 是否包含恶意软件。

描述问题

无法打开“Easydict.dmg”,因为它来自身份不明的开发者。macos无法验证此 App 是否包含恶意软件。
无法打开 “Easydict.app",因为 Apple 无法检查其是香包含恶意软件。此软件需要更新。请联系开发者了解更多信息。

虽然还是能强行突破系统安全性安装,但还是希望能解决一下这个问题,不然会劝退掉大部分人。
这么好的软件不火真是太可惜了!

希望能与你详谈一下

你好,我是 Bob 作者,希望能与你详谈一下,麻烦加下我 QQ 453942056 吧,谢谢 🤝

希望能添加个自定义开关,关掉右上角的图标网页搜索

功能描述

希望能提供一个选项关掉这个图标,这个Safari图标有点逼死强迫症,跟系统的Safari长得不太一样,而且点进去会跳转到默认浏览器(但这个默认浏览器并不是Safari而是Chrome)就很难受。这个功能一般也不太会用到,希望能提供个按钮关掉它。
image

显示查询图标导致部分应用中剪切板出现问题,以及代理问题

描述问题

问题1: 在开启实验功能 “划词后自动显示查询图标” 后,在部分应用中如果 划词 -> 复制 -> 划另外一个词 之后,会导致上一步复制的结果无法粘贴,利用其他应用查看剪贴板记录时,发现在那一条确实存在,且之后没有新的剪切记录。关闭该试验功能后复制粘贴恢复正常。此bug在vscode, obsidian中出现,但在edge浏览器中未出现。

问题2: 似乎只有使用代理之后,才能在划词翻译时顺利自动识别源语言,并展开翻译详情。
image
当不使用网络代理时,一方面需要手动指定语言(只测试了英语)才能显示详细的单词翻译,另一方面此时单词翻译详情不会自动展开。
image

运行环境

  • Device: MacBook Pro (intel, 13-inch, 2020)
  • macOS: 13.2
  • Easydict Version: 1.2.1

功能建议:配置代理功能

功能描述

首先非常感谢您能开源如此优秀的软件~

配置代理功能, 比如一些海外的翻译google, 这样有代理的情况下, google翻译就可以很好的使用.
可以在软件系统设置里开放一个配置代理功能, 然后在服务里有个选择是否使用代理的按钮.
或者直接在服务里可以单独配置代理功能.

使用场景(可选)

优化运行内存占用

描述问题

在后台运行时间过长的话,内存占用可能会大幅度增加。
图一(前两天测试的)
截屏2023-01-25 14 20 56

图二(今天测试的)
image

UI建议:给NSMenuItem添加图标,如图所示

CleanShot 2023-04-16 at 19 32 42@2x

希望给NSMenuItem添加图标,这样看着会更好看一点

func makeMenuItem(title: String, action: Selector?, imageName: String?, keyEquivalent: String)
  -> NSMenuItem
{
  let menuItem = NSMenuItem(title: title, action: action, keyEquivalent: keyEquivalent)

  if let imageName = imageName {
    menuItem.image = NSImage(named: imageName)
    menuItem.image?.isTemplate = true
  }

  return menuItem
}

图片尺寸:
1x图片:
图片大小:24 * 24
内置图标大小:16 * 16

2x图片尺寸:
图片大小:48 * 48
内置图标大小:32 * 32

PS:
这个尺寸是从CleanShot X的资源文件解包找到的,不能100%确定。

图标预览

menubarAllInOne24x24

图标下载

icon.zip

🐞 反馈问题:查询图标不能跨屏显示

请先确认以下事项

  • 已仔细阅读了 README
  • issues 页面搜索过问题,但未能找到解决方法
  • Easydict 已升级到最新版本

问题描述

查询图标只能在主屏幕显示。

重现步骤

外接第二个显示器,划词后在主屏幕显示查询图标

期望结果

跟着鼠标显示

解决方案(可选)

No response

设备信息 && 操作系统版本(可选)

Apple m1

🚀 功能建议:希望可以调整翻译服务展示顺序

请先确认以下事项

  • 已仔细阅读了 README
  • issues 页面搜索过,未发现类似功能建议
  • Easydict 已升级到最新版本

功能描述

设置里面可以调整翻译服务的展示顺序

使用场景(可选)

长期使用会对某些翻译服务产生信赖,有优先查看的倾向

实现方案(可选)

No response

关于翻译窗口位置的优化建议

功能描述

现在截图翻译和快捷键翻译,弹出的窗口会默认在最右边,并且无法设置。
这会导致两个问题,一个是当我翻译屏幕左边的内容时(尤其是显示器过宽时),弹出的小窗出现在屏幕最右边会很不人性化;第二个是右上角是通知中心的地方,如果遇到日历通知在右上方(尤其是持久通知那种),就会出现UI上的重叠。

想到的两个优化办法:
1.自动记住上次调整的位置。
2.像沙拉查词一样,在原文(或图片)旁边的位置显示。

反馈问题:隐藏菜单栏图标后,无法再找回设置菜单了

描述问题

之前在 #6 中加入了隐藏状态栏图标,但有个问题没有考虑到:在隐藏之后如何再调出来设置菜单?

我暂时想到两种解决方法:

  1. 一种是是第一次冷启动App时,默认显示设置界面,比如mos、alttab。
  2. 另一种方法是,在查词面板加入一个设置按钮,或是在左上角菜单栏加入一个偏好设置。

记录一些机器翻译服务容易译错的句子

由于不同翻译服务有着不同的特色,它们翻译结果的准确度和流畅度也都不一样,因此有时候就需要比较多家翻译结果,择优录用。

受到这个 issue #26 提醒,专门开一个 issue,记录一些容易翻译错的句子,也算是一项简单粗暴的准确性测试,对于那些优秀准确的翻译服务,大家在后续使用时可以多关注一下。如果发现有其他翻译效果更好的服务,也可以例举推荐一下,我会考虑集成支持的。

单词发音使用的不是对应词典或翻译的发音

描述问题

不管是输入翻译、划词翻译或截图翻译弹出窗口,多个翻译词典或翻译使用的发音都同一个系统合成发音(也不分美、英),想听真正的词典或翻译提供的发音只能跳转到网页上听。

运行环境

  • Device: MacBook Pro (Retina, 15-inch, Mid 2019)
  • macOS: 13.2.1
  • Easydict Version:1.2.3

🐞 反馈问题:设置页面深色模式适配问题

请先确认以下事项

  • 已仔细阅读了 README
  • issues 页面搜索过问题,但未能找到解决方法
  • Easydict 已升级到最新版本

问题描述

偏好设置页面,即使是白天,也是黑暗的主题色,而且又不是纯深色,显示有问题(系统本身是浅色深色自动切换的)
CleanShot 2023-03-27 at 08 53 44@2x

重现步骤

偏好设置页面

期望结果

能够跟随系统变换,或者一直保持浅色or深色

解决方案(可选)

No response

设备信息 && 操作系统版本(可选)

Apple M1 mbp macOS 12.2.1 (21D62)

反馈问题:划词翻译弹出的窗口过于冗长

描述问题

在划词翻译时,弹出的窗口过长,会影响main task的界面。理论上是可以通过关闭一些翻译服务来裁剪界面的,但是又牺牲了一些其他参考性(比如在输入翻译时希望获得很多的翻译参考选择)。

可能提供一个【划词翻译开启的服务】设置能够缓解这种问题?
又或者提供固定大小的float window,用户如果不能一眼看见所有信息,可以通过滑动窗口来浏览更多信息?
又或者固定窗口的位置,不跟随鼠标指针也是一种选项?

Anyway, 感谢作者提供的应用!点个赞!

image

运行环境

environment independent

🐞 反馈问题:README中添加系统版本要求

请先确认以下事项

  • 已仔细阅读了 README
  • issues 页面搜索过问题,但未能找到解决方法
  • Easydict 已升级到最新版本

问题描述

在 V2EX 看到有人推荐这个软件,下载之后发现不支持 macOS 10.15.7,希望可以在 README 中补充一下系统版本要求。

重现步骤

期望结果

解决方案(可选)

No response

设备信息 && 操作系统版本(可选)

No response

功能建议:希望加入对第三方本地辞库的支持

功能描述

添加对mdd、mdx、css等格式的支持,或者调用苹果内部的词典(已有提出),便于更快的本地查词与满足专业需要

使用场景(可选)

参考欧路词典,针对医学、材料学等内容的专门词库

功能建议:能否允许设置弹窗的宽度和透明度

功能描述

现在弹窗在我的电脑上特别窄,不太易于阅读内容,我找了好久也没找到相关设置,希望可以允许设置弹窗宽度。

最后感谢作者开发了这么牛逼的工具!对我这种英语苦手来说太有帮助了!!!

image

使用场景(可选)

功能建议:语句分割与中英逐句对照

功能描述

识别英文句号,将长段分割成一句句后再申请翻译,便于作精细的中英对照
考虑到api的请求次数限制,建议deepl等内置API禁止此功能,仅限私有API,作为选项默认关闭,按需使用
私有API接口应该是必然的布置🤔所以提前提出此issue

使用场景(可选)

翻译长段时,有时deepl会存在少翻的情况
不同的翻译api会存在不同的翻译,每句都有不同,需要对比方能得出正解,有时不存在可以直接复制的、一整段的都正确的答案。对于有高要求的翻译来说相当致命。
通过先后复制不同来源的正确单句,可以通过剪辑版记录工具,快速组合出正确的段落

实现样式和原因参考如下:
image

功能建议:打开Input Translate清除上次的文本记录

alt+a 弹出的窗口,会保留上次翻译的结果。这样每次翻译都要先 cmd+a + delete 再输入。。

alt+d 如果没有选择文本的话,也会弹出窗口并且有系统提示声,建议如果没选择文本,不弹出窗口,也不要有那个很难听的系统提示声。而且这个弹出的窗口位置我发现在光标之上。

然后我想问一下 floating 窗口和 mini窗口我找到了,但是没找到那个main窗口 哈哈哈😂😂😂

然后选择语言能建议改成首字母大写吗。。。个人好看一点🥹就是“auto”变成“Auto”,
而且个人觉得一般最常用的翻译的也就几个语言,建议就跟浏览器的书签一个逻辑,设置几个常用的语言Pin在这个列表的最上方方便选取,这样那个国旗flag也可以去掉了,个人觉得好看一点哈哈哈哈哈哈。颜值就是王道

image

Macbook Pro 13
macOS 12.6.3
Easydit 1.2.3

icon 圆角边缘有些模糊

描述问题

应用 icon 的圆角边缘似乎有些模糊(请看下方截图)
截屏2023-02-04 13 34 01

运行环境

  • Device: MacBook Pro 14‘
  • macOS: 13.2
  • Easydict Version: 1.2.1

🚀 功能建議:增加快速切換語言(Swap languages)的快捷鍵

请先确认以下事项

  • 已仔细阅读了 README
  • issues 页面搜索过,未发现类似功能建议
  • Easydict 已升级到最新版本

功能描述

Thanks for your project! 有時候為了確認翻譯品質,會切換語言(Swap languages),希望可以增加一個快捷鍵來達成這件事。

SCR-20230407-ulyu

使用场景(可选)

No response

实现方案(可选)

No response

功能建议:界面上的文字支持自由复制

功能描述

界面上的文字支持自由复制

使用场景(可选)

有时候查完词,想把内容复制下来保存到笔记本,所以希望可以复制音标、释义,或者直接全选复制

BTW, 非常棒的 app 👍🏻

🚀 功能建议:希望能release的时候同时维护brew

请先确认以下事项

  • 已仔细阅读了 README
  • issues 页面搜索过,未发现类似功能建议
  • Easydict 已升级到最新版本

功能描述

相比手动去release下载安装包,Mac brew同步更新还是非常方便的

使用场景(可选)

No response

实现方案(可选)

No response

🐞 反馈问题:拖动窗口出现提示音

请先确认以下事项

  • 已仔细阅读了 README
  • issues 页面搜索过问题,但未能找到解决方法
  • Easydict 已升级到最新版本

问题描述

开启软件后在拖动其他应用窗口时会出现系统提示音,“编辑”菜单会被选中。

重现步骤

例如:打开Safari,按住窗口拖动位置后松开,即可听到系统提示音,并且可以看到菜单栏的“编辑”选项被调用。

期望结果

正常拖动应用应该不存在这种情况

解决方案(可选)

No response

设备信息 && 操作系统版本(可选)

macOS 13.3

🚀 功能建议:希望能设置文本识别窗口的折叠,优化阅读效率

请先确认以下事项

  • 已仔细阅读了 README
  • issues 页面搜索过,未发现类似功能建议
  • Easydict 已升级到最新版本

功能描述

希望能折叠文本识别结果的窗口,在长文字翻译时,减少原始文本的视觉占比,更快锁定翻译区域;(当前的识别结果窗口高度上限还是太高)

使用场景(可选)

目前ocr和文字识别的准确率很高了,基本不太需要矫正识别结果,已经习惯直奔翻译区域而去,而且往往需要矫正的时候不如重新截图或复制文本;

在长文字或者多段落文本的情况下,识别结果窗口占比很大,所以希望可以优化视窗的阅读效率

实现方案(可选)

可以考虑沿用翻译区域的折叠逻辑,折叠状态仅显示(缩略文本)o(r功能标题),展开状态是当前版本的窗口效果;

🚀 功能建议:关于自定义翻译接口的api

请先确认以下事项

  • 已仔细阅读了 README
  • issues 页面搜索过,未发现类似功能建议
  • Easydict 已升级到最新版本

功能描述

能像bob一样可以自定义百度 腾讯 等翻译接口的api吗

使用场景(可选)

可以自定义翻译接口,使用自己的token

实现方案(可选)

No response

功能建议:增加popclip插件

虽然已经有划词后自动显示翻译图标的功能,但仅限于浏览器中使用,在第三方文本中则无法划词翻译,建议增加popclip插件。

🚀 功能建议:通过 ⌘W 关闭偏好设置窗口

请先确认以下事项

  • 已仔细阅读了 README
  • issues 页面搜索过,未发现类似功能建议
  • Easydict 已升级到最新版本

功能描述

Easydict 的翻译窗口是可以用 ⌘W 关闭的,但是偏好设置窗口貌似不行,个人认为如果偏好设置窗口也能通过 ⌘W 关闭的话会在体验上更加统一

使用场景(可选)

偏好设置窗口

实现方案(可选)

类似在 SwiftUI 里的这种:

 Button("Close Window") {
                NSApp.keyWindow?.windowController?.close()
            }
            .keyboardShortcut("w", modifiers: [.command])

反馈问题:菜单栏 UI

描述问题

Hi,又来反馈 UI 问题了😄
这里发现菜单栏的图标在选中的时候貌似不太一样,个人认为其他软件的样式看起来能更协调一点
截屏2023-02-13 20 35 49
截屏2023-02-13 20 36 45

运行环境

  • Device: MacBook Pro 14‘
  • macOS: 13.2
  • Easydict Version: 1.2.1

🚀 功能建议:建议新增类似生词本的功能

请先确认以下事项

  • 已仔细阅读了 README
  • issues 页面搜索过,未发现类似功能建议
  • Easydict 已升级到最新版本

功能描述

在查词界面上加一个收藏按钮,类似有道词典;可以在统一的地方查看生词详情列表;

使用场景(可选)

No response

实现方案(可选)

No response

🚀 功能建议:(

请先确认以下事项

  • 已仔细阅读了 README
  • issues 页面搜索过,未发现类似功能建议
  • Easydict 已升级到最新版本

功能描述

产品建议:

  • 尽快增加插件机制:不同的人有不同的需求,这阶段把有编程能力的社区建设者作为主要用户,满足他们的个性化需求,创始人要把整体架构弄好,而不是一个一个堆功能
  • 产品需要改名,现在的名字非常不利于记住和传播,也就是品牌潜力受限
  • 设计先行,包括名字、Logo、界面在内要精心设计,花钱找人也值得,因为“美即好用”效应存在
  • 尽早规划哪些功能免费,(将来)哪些功能是可以收会员费的,尤其是涉及到调用第三方收费API时,这个费用要么用户自己承担,要么会员费方式。
    这个项目其实是有潜力的,但要在产品上多多思考

使用场景(可选)

No response

实现方案(可选)

No response

功能建议:OCR后能自动清除换行符

功能描述

增加一个自定义选项,使得OCR之后能自动清除换行符后再翻译。
image

使用场景(可选)

大部分的OCR翻译场景其实都是翻译成段的句子,而这种情况下默认清楚换行符也许是更好的选择。比如知名的OCR工具白描就默认清除了换行符。这样才能翻译出一整个完整的句子。
截屏2023-02-21 下午11 13 00

反馈问题:菜单栏弹窗动画响应不及时

描述问题

在启动 Easydict 之后用光标在菜单栏弹窗上滑动会出现预选中动画有延迟的情况,但是在打开偏好设置/检查更新之后再次打开菜单栏弹窗就不会出现这样的问题(请看下方录屏)

2023-02-22.12.43.49.mov

运行环境

  • Device: MacBook Pro 14‘
  • macOS: 13.4.1
  • Easydict Version: 1.3.2

功能建议:固定窗口ocr翻译

就是说例如玩游戏时,它的对话窗口位置是固定的,每次截图翻译都要重新选范围就很麻烦,如果能新增一个固定的ocr窗口就好了.

功能建议:希望可以增加ChatGPT的翻譯

功能描述

我在使用ChatGPT時,有一種運用是讓GPT協助我翻譯。我會使用「請以繁體中文優雅地翻譯以下文字」作為我的開頭來詠唱,希望有一天能夠加入類似的功能。

功能建议:自定义翻译术语库

功能描述

提供固定的默认的语言间对照,方便稳定提供高效的专业名词翻译

使用场景(可选)

初期可参考普通的彩云小译和DeepL,做基础的中英文固定对照即可
后期可以参考Trados和GT4T,配合第三方词库(同时用于单词查询和翻译),精确程度上就会强出非常多
不少API有内置这个功能,但是操作起来比较麻烦与折腾,不同API不同术语库给出不同结果,本地进行处理会更好,就是工作量恐怕不小

🐞 反馈问题:快捷键弹出窗口位置不同

请先确认以下事项

  • 已仔细阅读了 README
  • issues 页面搜索过问题,但未能找到解决方法
  • Easydict 已升级到最新版本

问题描述

未选中文案option+D位置偏上,选中文案option+D位置偏下,能否统一一下呢;而且option+A调出窗口的时候,每次都会显示上一次输入的内容,是否能做个开关选择是否清除呢

重现步骤

期望结果

解决方案(可选)

设备信息 && 操作系统版本(可选)

No response

🚀 功能建议:建议增加单独OCR功能

请先确认以下事项

  • 已仔细阅读了 README
  • issues 页面搜索过,未发现类似功能建议
  • Easydict 已升级到最新版本

功能描述

建议增加单独OCR的快捷键,有时候只需要OCR,不需要翻译

使用场景(可选)

No response

实现方案(可选)

No response

🐞 反馈问题:OpenAI Translate Error While OpenAI Translate is disabled.

请先确认以下事项

  • 已仔细阅读了 README
  • issues 页面搜索过问题,但未能找到解决方法
  • Easydict 已升级到最新版本

问题描述

The error notification pop up while OpenAI Translate is disabled, the error message the API token is not provided.

Screen Shot 2023-03-28 at 13 56 01

Screen Shot 2023-03-28 at 13 53 05

重现步骤

N/A

期望结果

If any service is disabled, the related error message should not pop up.

解决方案(可选)

No response

设备信息 && 操作系统版本(可选)

No response

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.