【技巧分享】 Emacs+macOS 最简单也最强大的中英互译设置,不只英语

稍微修改了一下,支持在 echo area 显示翻译结果。

配置用 use-package 包起来是为了看着方便,绑定的快捷键能显示在 describe-personal-keybindings 里。

(use-package simple
 :ensure nil
 :bind ("H-t H-t" . my/translate-language-to-zh-or-zh-to-english)
 :config
 ;; Siri Shortcuts: Translate
 (defun my/siri-translate ()
   (interactive)
   (let ((tempfile (make-temp-file "siri-translate-" nil ".txt")))
     (write-region (format "%s" (thing-at-point 'paragraph)) nil tempfile)
     (end-of-paragraph-text) ; jump to end of paragraph
     (shell-command (format "shortcuts run \"Translate File\" -i %s" tempfile)))
   (shell-command "open -b org.gnu.Emacs")
   ;; (shell-command "pbpaste")
   )

 (defun my/siri-translate2english ()
   (interactive)
   (let ((tempfile (make-temp-file "siri-translate-" nil ".txt")))
     (write-region (format "%s" (thing-at-point 'paragraph)) nil tempfile)
     (end-of-paragraph-text) ; jump to end of paragraph
     (shell-command
      (format "shortcuts run \"Translate File 2 English\" -i %s" tempfile)))
   (shell-command "open -b org.gnu.Emacs")
   ;; (shell-command "pbpaste")
   )

 (defun my/translate-language-to-zh-or-zh-to-english ()
   (interactive) ; 测试
   (let ((string (thing-at-point 'paragraph)))
     (if (eq (string-match "\\cC" string) nil)
         (my/siri-translate)
       (my/siri-translate2english)))
   (shell-command "pbpaste")))

BONUS

如果你需要 OCR: