首页 > 中级, 其他, 好玩的, 配置 > 在 emacs 中使用 bing translate api 实现高效翻译

在 emacs 中使用 bing translate api 实现高效翻译

作者: coordinate

本文介绍如何在 Emacs 中使用 Bing translate api实现高效翻译。之所以使用 bing translate api,一方面因为 bing translate api 翻译效果很好,另一方面是因为 google translate api 总是提示说今天的访问超量了(dailyLimitExceeded)。

所需工具

  1. emacs
  2. translate-emacs-toolkit

安装

  1. 将 emacs 解压。
  2. 克隆 translate-emacs-toolkit 最新版本,或者下载压缩包解压。
  3. bing 开发者申请appId。
  4. 启动 emacs。
  5. 在 .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/)。最后一句的意思给“简体中文”到“英文”的翻译设置快捷方式。

  6. 重启 emacs。
  7. 调用命令 bingtranslate-region-or-input(M-x bingtranslate-region-or-input)。输入翻译文本、原始语言(或快捷方式)、翻译语言。在 minibuffer 中会出现翻译结果。并且翻译结果会自动加载在剪切板中。
  8. 调用命令 bingtranslate-show-history(M-x bingtranslate-show-history)可以调出翻译历史记录。

实例

Bing example

分享家:Addthis中国
GD Star Rating
a WordPress rating system
在 emacs 中使用 bing translate api 实现高效翻译, 10.0 out of 10 based on 5 ratings 标签:Elisp, Emacs, 中级, 配置

相关日志

  1. 2012年5月15日17:03 | #1

    Contacting host: api.microsofttranslator.com:80
    ArgumentException: Invalid appId\u000d\u000aParameter name: appId : ID=3817.V2_Json.Translate.22E48683

    不知道你们有没有测试过,我得到的是这样的结果

    [回复]

    coordinate 回复:

    @luthur,
    这是我以前申请的appID,可以用到8月份。
    (defvar bingtranslate-appId “DF9E54CA96F73F2E289AEC059F407DE8295A6515″)

    最近准备答辩比较忙,我会尽快更新translate-emacs-toolkit以实用最新的bing translate api。

    [回复]

    匿名 回复:

    @coordinate,

    测试可用

    [回复]

  2. 2012年5月17日01:05 | #2

    appId 已经失效。

    现在Bing Translator用的是 OAuth 方式认证。

    需要Azure MarketPlace的Client_ID和Client_Securet认证之后获得一个Access Token才能访问Translator服务。

    实现过程比较麻烦。

    [回复]

    luthur 回复:

    @leiyue, 不知道有道是否正常

    [回复]

    coordinate 回复:

    @luthur,
    支持有道api的插件正在制作中。

    [回复]

  1. 本文目前尚无任何 trackbacks 和 pingbacks.
:wink: :-| :-x :twisted: :) 8-O :( :roll: :-P :oops: :-o :mrgreen: :lol: :idea: :-D :evil: :cry: 8) :arrow: :-? :?: :!: