稍微修改了一下,支持在 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: