Skip to content

Emacs minor mode : a translator depends on traslate-shell.

Notifications You must be signed in to change notification settings

Imymirror/trans-mode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 

Repository files navigation

trans-mode

The trans-mode is a translator on Emacs using translate-shell.

install

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

support features

  1. translate text from mark region
  2. translate text from clipboard
  3. translate text from input text
  4. translate text by turning on/off verbose.
  5. generate language-specific translate functions

usage

mark region and translate

assets/mark-traslate-yank.gif

  • mark region
  • call trans-region-or-clipboard-popup to traslate
  • yank(C-y) to paste translate string

copy to clipboard and translate

assets/clipboard-yank.gif

  • C-c copy text to clipboard
  • call trans-region-or-clipboard to translate
  • yank(C-y) to paste translate string

input text and traslate

  • call trans-input or trans-input-popup , type text that you want to translate
  • yank(C-y) to paste translate string

how to use trans-toggle-verbose : switch between brief and detail mode

  1. call trans-toggle-verbose trun on verbose, translate(call trans-region-or-clipboard-popup or trans-input-popup ), see result
  2. call trans-toggle-verbose trun off verbose, translate(call trans-region-or-clipboard-popup or trans-input-popup ), see result

how to use trans-install-target

  1. 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
        
  2. call trans-input-ja-popup , type “I love ‘Emacs’”

api

  • trans-region-or-clipboard : if region active true, translate mark region, otherwise translate clipboard text.
  • trans-region-or-clipboard-popup : Compare to trans-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 to tans-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 message
  • trans-install-target : generate language-specific functions.

keymap

trans-mode bind keymap with prefix C-c C-t . assets/keymap.png

About

Emacs minor mode : a translator depends on traslate-shell.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published