在 emacs 中使用 bing translate api 实现高效翻译
作者: coordinate
本文介绍如何在 Emacs 中使用 Bing translate api实现高效翻译。之所以使用 bing translate api,一方面因为 bing translate api 翻译效果很好,另一方面是因为 google translate api 总是提示说今天的访问超量了(dailyLimitExceeded)。
所需工具
安装
- 将 emacs 解压。
- 克隆 translate-emacs-toolkit 最新版本,或者下载压缩包解压。
- 在 bing 开发者申请appId。
- 启动 emacs。
- 在 .emacs 文件中加入下列代码,配置 appengine-emacs-toolkit。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
(add-to-list 'load-path (concat git-path "translate-emacs-toolkit")) ;; Your appId. Application at http://www.bing.com/toolbox/bingdeveloper/ (defvar bingtranslate-appId "your-appId") ;; Your priority language to translate from. (defvar bingtranslate-from-priority "en") ;; Your priority language to translate to. (defvar bingtranslate-to-priority "zh-CHS") (require 'bing-translate-api) ;; key bounding (global-set-key [M-f1] 'bingtranslate-region-or-input) ;; add a pair of language ;; Parameters: "pair name" "from language" "to language" (bingtranslate-add-pair "1" "zh-CHS" "en")
其中 plugin-path 是你存放 translate-emacs-toolkit 文件夹的路径(如d:/home/emacs-23/site-lisp/)。最后一句的意思给“简体中文”到“英文”的翻译设置快捷方式。
- 重启 emacs。
- 调用命令 bingtranslate-region-or-input(M-x bingtranslate-region-or-input)。输入翻译文本、原始语言(或快捷方式)、翻译语言。在 minibuffer 中会出现翻译结果。并且翻译结果会自动加载在剪切板中。
- 调用命令 bingtranslate-show-history(M-x bingtranslate-show-history)可以调出翻译历史记录。
实例
GD Star Rating
a WordPress rating system
标签:Elisp, Emacs, 中级, 配置a WordPress rating system
Contacting host: api.microsofttranslator.com:80
ArgumentException: Invalid appId\u000d\u000aParameter name: appId : ID=3817.V2_Json.Translate.22E48683
不知道你们有没有测试过,我得到的是这样的结果
[回复]
coordinate 回复:
五月 18th, 2012 at 4:03 下午
@luthur,
这是我以前申请的appID,可以用到8月份。
(defvar bingtranslate-appId “DF9E54CA96F73F2E289AEC059F407DE8295A6515″)
最近准备答辩比较忙,我会尽快更新translate-emacs-toolkit以实用最新的bing translate api。
[回复]
匿名 回复:
五月 18th, 2012 at 7:23 下午
@coordinate,
测试可用
[回复]
appId 已经失效。
现在Bing Translator用的是 OAuth 方式认证。
需要Azure MarketPlace的Client_ID和Client_Securet认证之后获得一个Access Token才能访问Translator服务。
实现过程比较麻烦。
[回复]
luthur 回复:
五月 17th, 2012 at 4:18 下午
@leiyue, 不知道有道是否正常
[回复]
coordinate 回复:
五月 18th, 2012 at 4:04 下午
@luthur,
支持有道api的插件正在制作中。
[回复]