The trans-mode is a translator on Emacs using translate-shell.
trans-mode depends on translate-shell that you need to install first. for example :
wget git.io/trans
chmod +x ./trans
# mv ./trans /usr/local/bin/trans # on MacOSHere is an example configuration using use-package:
(use-package trans-mode
:straight
(:host github :repo "Imymirror/trans-mode")
:custom
(trans-target "zh" "first target language is zh")
(trans-second-target "en" "if source text language code equals first target, use the second target as an alternative.")
:config
(trans-install-target "ja") ;; ==> auto generate two new functions : trans-input-ja , trans-input-ja-popup
)Google Translate can identify the language of the source text automatically,so we only need to configure the language of target text using trans-target and trans-second-target (see language code list).
if source text language code equals trans-target , use trans-second-target as target code , because translate zh:zh is useless.
trans-install-target is used to generate language-specific functions. for example:
(trans-install-target "ja") ;; ==> generate two new functions : trans-input-ja , trans-input-ja-popup
(trans-install-target "fr") ;; ==> generate two new functions : trans-input-fr , trans-input-fr-popup- translate text from mark region
- translate text from clipboard
- translate text from input text
- translate text by turning on/off verbose.
- generate language-specific translate functions
markregion- call
trans-region-or-clipboard-popupto traslate yank(C-y)to paste translate string
C-ccopy text to clipboard- call
trans-region-or-clipboardto translate yank(C-y)to paste translate string
- call
trans-inputortrans-input-popup, type text that you want to translate yank(C-y)to paste translate string
- call
trans-toggle-verbosetrun on verbose, translate(calltrans-region-or-clipboard-popuportrans-input-popup), see result - call
trans-toggle-verbosetrun off verbose, translate(calltrans-region-or-clipboard-popuportrans-input-popup), see result
- use
trans-install-targetgenerate language-specific functions(trans-install-target "ja") ;; ==> generate two new functions : trans-input-ja , trans-input-ja-popup (trans-install-target "fr") ;; ==> generate two new functions : trans-input-fr , trans-input-fr-popup
- call
trans-input-ja-popup, type “I love ‘Emacs’”
trans-region-or-clipboard: if region active true, translate mark region, otherwise translate clipboard text.trans-region-or-clipboard-popup: Compare totrans-region-or-clipboard, it will additionally pop up a window to show translate text.trans-input: translate input text. save to kill ring.trans-input-popup: translate input text. save to kill ring. Compare totans-input, it will additionally pop up a window to show translate text.trans-toggle-verbose: default using -brief (-b) option, by this function you can switch between bref/detail status. It is useful when translate a single word.trans-switch-to-buffer: switch trans-mode buffer. show all translate messagetrans-install-target: generate language-specific functions.


