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 MacOS
Here 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
mark
region- call
trans-region-or-clipboard-popup
to traslate yank(C-y)
to paste translate string
C-c
copy text to clipboard- call
trans-region-or-clipboard
to translate yank(C-y)
to paste translate string
- call
trans-input
ortrans-input-popup
, type text that you want to translate yank(C-y)
to paste translate string
- call
trans-toggle-verbose
trun on verbose, translate(calltrans-region-or-clipboard-popup
ortrans-input-popup
), see result - call
trans-toggle-verbose
trun off verbose, translate(calltrans-region-or-clipboard-popup
ortrans-input-popup
), see result
- use
trans-install-target
generate 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.