Emacs 安装Google-translate插件

徐唯
2023-12-01

Emacs 安装Google-translate插件

使用github安装插件

将github中的地址复制到gitee中,这样clone的速度会很快(我这边已经将代码复制了过来,可以直接在我的gitee仓库的地址下进行clone:https://gitee.com/bszscf/google-translate.git)

  1. git clone https://gitee.com/bszscf/google-translate.git ~/.emacs.d/plugins/google-translate
  2. 配置Google-translate
    1. 在 ~/.emacs.d/lisp 下新建init-google-translate.el文件
    2. 配置查询地址、快捷键等(可以参考一下我的配置)
(add-to-list 'load-path "~/.emacs.d/plugins/google-translate")
(require 'google-translate)
(require 'google-translate-default-ui)
;;需要将谷歌翻译地址的.com修改成.cn,否则在国内无法进行访问
(setq google-translate-base-url
     "http://translate.google.cn/translate_a/single")
(setq google-translate-listen-url
     "http://translate.google.cn/translate_tts")
(setq google-translate--tkk-url
     "http://translate.google.cn")
;;配置默认语言
(setq google-translate-default-source-language "en")
(setq google-translate-default-target-language "zh-CN")
(setq-default google-translate-enable-ido-completion t)
;; 配置快捷键
(global-set-key "\C-ct" 'google-translate-at-point)
(global-set-key "\C-cT" 'google-translate-query-translate)
(global-set-key (kbd "\C-cq") 'google-translate-smooth-translate)

(provide 'init-google-translate)
  1. 配置init.el文件
(require 'init-google-translate)
  1. 使用谷歌翻译

    需要翻译单词时将光标放到该单词的后边,使用快捷键 C-c t 进行翻译,如果需要翻译句子,可以使用 C-c T 输入需要翻译的文本

需要注意的是: 谷歌翻译存在一个bug,就是在翻译句子的时候会出现Args out of range的错误,这个是插件本身存在的一个bug,需要修改部分代码,具体的原因可以看github上插件的issues:args-out-of-range error in google-translate-json-suggestion

代码调整如下:

将google-translate-core.el文件中的google-translate-json-suggestion函数进行替换,替换的代码如下:

(defun google-translate-json-suggestion (json)
  "Retrieve from JSON (which returns by the
`google-translate-request' function) suggestion. This function
does matter when translating misspelled word. So instead of
translation it is possible to get suggestion."
  (let ((info (aref json 7)))
    (if (and info (> (length info) 0))
        (aref info 1)
      nil)))
 类似资料: