german translation with>

foo <--> german translation with

leo (){ l="en"; if [ "${1:0:1}" = "-" ]; then l=${1:1:2};shift;fi;Q="$*";curl -s "${l}de/?search=${Q// /%20}" | html2text | sed -e '0,/H.ufigste .*/d;/Weitere Aktionen/,$d;/f.r Sie .*:/,$d' | grep -aEA900 '^\*{5} .*$'; }
Translate strings from non-german to german (and vice versa) using LEO. Put it in your ~/.bashrc. Usage: leo words   To use another language other than english, use an option: leo -xx words Valid language options: ch - chinese en - english es - spanish fr - french it - italian pl - polish pt - portuguese ru - russian The other language will always be german!
Sample Output
[email protected]:~$ leo hart am Wind segeln
***** Verben *****
????to sail near the wind |?sailed, sailed?|       ?hart am Wind segeln ??
        [naut.]                                            [Segeln]
????to sail close to the wind |?sailed, sailed?|   ?hart am Wind segeln ??
        [naut.]                                            [Segeln]
????to sail on a close reach |?sailed, sailed?|    ?am Wind segeln ??[Segeln]
????to sail close to the wind |?sailed, sailed?|   ?dicht am Wind segeln ??
        [naut.]                                            [Segeln]
????to sail near the wind |?sailed, sailed?|       ?dicht am Wind segeln ??
        [naut.]                                            [Segeln]
***** Adjektive / Adverbien *****
?? ?close-hauled ?adj. [naut.] ?hart am Wind


[email protected]:~$ leo -fr Mitternacht
***** Substantive *****
?? ?minuit ?m.??die Mitternacht ?kein Pl.
***** Beispiele *****
?? ?Il est minuit.               ?Es ist Mitternacht.
?? ?La plupart sont partis vers  ?Die meisten sind gegen Mitternacht
       minuit.                        gegangen.

2013-06-24 22:35:46

1 Alternatives + Submit Alt

  • 1. There is no use of '--color=auto' in front of a pipe--instead with '--color=always' grep will mark the section headings. 2. I suppose the use of grep with '-A 900' or '-B 900' respectively a 'dirty trick'--sed can do 'exactly' what we want, however, grep does the nice colouring (see 1.) 3. Cutting of the tail (everthing starting with 'Weitere Aktionen') first leads to no output if leo doesn't no the translation. Show Sample Output

    leo () { lang=en; IFS=+; Q="${*// /%20}"; curl -s "${lang}de/?search=${Q//+/%20}" | html2text | sed -e '/Weitere Aktionen/,$d' | grep --color=auto --color=always -EA 900 '^\*{5} .*$' }
    jandclilover · 2015-01-09 13:58:36 0

What Others Think

'^Weitere Aktionen$' must be replaced by 'Weitere Aktionen' or '\* Weitere Aktionen \*'--probably output format of leo changed ad some point sed -e '/Weitere Aktionen/,$d' can do better as it doesn't output of the searched line itself and avoids the somehow 'dirty' -B 900
jandclilover · 292 weeks and 1 day ago
Thanks for your fixes, jandclilover! I also made a little change, so the lang variable can be used as an environment variable: lang=es leo Danke sehr ***** Phrasen ***** ?? ??Muchas gracias! ?Danke sehr!
michelsberg · 292 weeks and 1 day ago
Oh, let's see if that works: lang=es leo Danke sehr ***** Phrasen ***** ?? ??Muchas gracias! ?Danke sehr! Oh, I noticed that some languages (like pl,ru,ch) have an annoying "***** H?ufigste Anfragen der letzten 7 Tage *****" section above the results...
michelsberg · 292 weeks and 1 day ago
Umlauts don't arrive as "?" anymore. Fix: leo () { lang="en" if [ "${1:0:1}" = "-" ] then lang=${1:1:2} shift fi Q="$*" curl -s "${lang}de/?search=${Q// /%20}" | html2text | sed -e '0,/H.ufigste Anfragen/d;/Weitere Aktionen/,$d;/f.r Sie im .berblick:/,$d' | grep --color=always -EA 900 '^\*{5} .*$' }
michelsberg · 264 weeks and 3 days ago

What do you think?

Any thoughts on this command? Does it work on your machine? Can you do the same thing with only 14 characters?

You must be signed in to comment.

What's this? is the place to record those command-line gems that you return to again and again. That way others can gain from your CLI wisdom and you from theirs too. All commands can be commented on, discussed and voted up or down.

Share Your Commands

Stay in the loop…

Follow the Tweets.

Every new command is wrapped in a tweet and posted to Twitter. Following the stream is a great way of staying abreast of the latest commands. For the more discerning, there are Twitter accounts for commands that get a minimum of 3 and 10 votes - that way only the great commands get tweeted.


Subscribe to the feeds.

Use your favourite RSS aggregator to stay in touch with the latest commands. There are feeds mirroring the 3 Twitter streams as well as for virtually every other subset (users, tags, functions,…):

Subscribe to the feed for: