xiyang
1
又造了一个轮子,之前一直使用的是 youdao-dictionary.el
,很好很强大,但如果不配置token已经很久都用不了了;而另一位大佬的 fanyi.el
不支持长句和离线,所以我又造了一个自用的新轮子
支持的翻译引擎:
- youdao(有道)
- bing(必应)
- iciba(金山词霸)
- dictcn(海词)
- google(谷歌)
- sdcv(离线)
有啥功能:
- 全部使用各翻译网站的公开接口或页面,不需要配置密钥
- 谷歌翻译,支持单独设置代理
- 长句翻译,仅支持youdao和google
- 离线翻译,不需要安装命令行sdcv,纯elisp实现(抄的emacs wiki),首次翻译需要加载词典到内存,这会耗费一定时间
- 多引擎翻译,只是简单的把所有结果和在一起
- 翻译接口除sdcv外均支持异步,但我目前用的同步翻译,需要异步的可自行调用
目前比较符合我自己的使用场景,只提供了两个接口,分别显示到echoarea(方便阅读)和buffer(方便复制),另外,我需要的是一个快速翻译的功能,但平时用的也不多,所以暂不会添加读音和生词本等功能,感兴趣的道友可以看看
7 个赞
Roife
2
准备用一用。不过我现在日常除了用传统翻译引擎外,还会用 GPT 处理一些翻译工作
这点不错,我一直用的 go-translate, 不过设了代理后,bing的翻译结果很慢。
不错不错, 感谢你的工作 ~
翻译速度很快哟 !!
原来 sdcv 还有纯 elisp 实现的呀, 厉害 !!!
read lazyworm-ce index: 62%
如上的文字,光标在read的时候能够正常翻译,光标在lazyworm-ce中翻译的时候会出现以下错误信息:
string-trim: Wrong type argument: stringp, nil
配置代码如下:
(use-package maple-translate
:ensure nil
:commands (maple-translate maple-translate+)
:bind ("C-x y" . maple-translate+)
:config
;; (add-to-list 'maple-translate-alist '(custom . custom-translate-function))
;; (setq maple-translate-engine 'custom)
;; or use multi engines
(setq maple-translate-engine '(sdcv youdao dictcn ))
;; with google translate
(setq maple-translate-google-url "https://translate.googleapis.com/translate_a/single")
(setq maple-translate-google-proxies
'(("http" . "127.0.0.1:1086")
("https" . "127.0.0.1:1086")))
;; with offline sdcv
(setq maple-translate-sdcv-dir (expand-file-name "resources/sdcv-dict" user-emacs-directory))
(setq maple-translate-sdcv-dicts
'(("lazyworm-ec" . "stardict-lazyworm-ec-2.4.2")
("lazyworm-ce" . "stardict-lazyworm-ce-2.4.2")))
)
xiyang
6
最新代码已修复,不过lazyworm
只有google能查到
xiyang
7
xiyang
10
理论上是可以的,只要离线词典支持,同时翻译成多国语言都行
可以请教下您这个插件和这个帖子emacs + goldendict 查单词 里的方法有什么不同吗?或者说能覆盖它的功能嘛。
P.S 看不太懂源码,希望大佬能解惑,谢啦!
xiyang
12
没有谁覆盖谁的说法,如果你本地能安装goldendict或者sdcv,那么离线翻译的体验会更好一些,如果不想安装除emacs之外的依赖,你可以试一下我这个。
最好的办法是两个插件都下载下来试一下,看哪个更适合自己