29

I would like to translate words from English to Language X trough terminal

  • If it is possible, what kind of dictionaries there are?

  • Is it possible to use online services like webxicon.org trough terminal?

31

For offline use:

You can install dictd server and use Freedict Dictionary database for word translations.

Install dictd:

sudo apt-get install dictd

dictd

Install translation database. eg. dict-freedict-eng-fra for English to French translation, dict-freedict-eng-spa for English to Spanish translation.

sudo apt-get install dict-freedict-eng-fra
sudo apt-get install dict-freedict-eng-spa

freedictDB

Usage:

View list of databases:

dict -D

Use a particular database eg. for English to Spanish translation:

dict -d fd-eng-spa "how are you?"

snapHowRU

For online use:

Install libtranslate-bin with:

sudo apt-get install libtranslate-bin

eg. using online google translate engine:

echo "what are you doing" | translate-bin -s google -f en -t fr

onlineGoogleTranslate


Offline English dictionary in Terminal:

Installing English dictionary databeses (gcide, wn, devil):

sudo apt-get install dict-gcide
sudo apt-get install dict-wn
sudo apt-get install dict-devil

Installing English Thesaurus database (moby-thesaurus):

sudo apt-get install dict-moby-thesaurus

Usage:

  1. Using a particular database (eg. WordNet - wn):

    dict -d wn "dictionary"
    
  2. Not specifying a dict-database will output definitions/translations/thesaurus from all available databases. eg.

    dict "dictionary"
    
  • Is there a eng-eng dictionary? – user224082 Dec 24 '13 at 20:26
  • 1
    @DuminduMahawela: ... there are... I've updated my post including a few of them... hope you'll like them... – precise Dec 25 '13 at 3:59
  • 1
    Thanks. I was searching some period for a terminal eng-eng dictionatry. You have done good job. – user224082 Dec 25 '13 at 4:02
  • No definitions found for "how are you?" – abc Oct 6 '18 at 2:41
  • does not work . thumb down – abc Oct 6 '18 at 2:52
11

Translate Shell

Translate Shell (ex Google Translate CLI) is a tool that lets you use translate text from the command line using Google Translate.

Installation

$ wget git.io/trans
$ chmod +x ./trans

Or

sudo apt install translate-shell

Or

$ git clone https://github.com/soimort/translate-shell
$ cd translate-shell/
$ make
$ [sudo] make install

Usage

To translate

trans en:de "The quick brown fox jumps over the lazy dog"  # Translate to German (de)
trans es: "Igualdad, fraternidad y libertad"  # From Spanish to your `locale`
trans :fr "Igualdad, fraternidad y libertad"  # From your `locale` to French
trans -b :fr "Igualdad, fraternidad y libertad"  # Same but `-brief`

As a dictionary: Google Translate can be used as a dictionary when lang from==to or -d parameter is used

trans -d fr: mot

Additional information and some examples can be found in the official site

  • make: *** No rule to make target 'install'. Stop. – abc Oct 6 '18 at 2:44
  • wget github.com/soimort/google-translate-cli/archive/master.tar.gz && tar -xvf master.tar.gz && cd translate-shell-master && sudo make install && trs "some text" && trs {en=afr} "TEXT TO TRANSLATE" – abc Oct 6 '18 at 2:50
  • does not work , thumb down – abc Oct 6 '18 at 2:51
5

Depending on the language you want, check out Apertium for offline machine translation through the terminal. It seems to focus mostly on Romance languages (ES, FR, PT, CAT, OCC..), but looks like they are slowly adding various new languages.

For Spanish you would install:

sudo apt install apertium apertium-en-es

echo "Hola Mundo." | apertium -a es-en
> Hello world.

It's terminal based but there's also a basic GUI: apertium-tolk

The version in the repos is older, if you want a newer version follow the install instructions.

2

I wrote a simple command-line translator base on google translate using Python.

The code: The python code is less than 100 lines, and I also wrote an installer script, and provide a config file so that could set your default preferred language.

It's under MIT license.

Pre-requisites: Python2.x on Linux, is all it needs, it don't support python3 yet, I might fix this later.

1

Have a look at sdcv based answer here (It also has "Xlanguage" to "Ylanguage" dictionaries):

Is there an offline command-line dictionary?

Should also check surfraw. Once you install, you may get meaning of a word through sr webster difficultWord. One way to translate will be through sr google difficultword in hindi.There will probably be other options for translation as well.

1

Translate "life" to portuguese. Example bellow: (lynx must be installed)

lynx -source 'http://translate.google.com/translate_t?langpair=en|pt&text='life |awk {'print $852'} | cut -d = -f5 |cut -d ';' -f1 |awk 'NF>0'

Where, "en" is english and "pt" is portuguese

Output:
'vida'

0

I have written a simple command-line translator based on text files. It also reproduces an audio file if it exists. I already have a database of audio files, and if I don't find them, then I download them from a google database.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.