german translation with dict.leo.org-->

foo <--> german translation with dict.leo.org

leo (){ l="en"; if [ "${1:0:1}" = "-" ]; then l=${1:1:2};shift;fi;Q="$*";curl -s "https://dict.leo.org/${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
joe@marry:~$ 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]
        [naut.]
????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

====================================================================

joe@marry:~$ 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.

4
2013-06-24 22:35:46

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 · 192 weeks and 5 days 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 · 192 weeks and 5 days 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 · 192 weeks and 5 days 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 "https://dict.leo.org/${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 · 165 weeks and 1 day 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?

commandlinefu.com 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.

» http://twitter.com/commandlinefu
» http://twitter.com/commandlinefu3
» http://twitter.com/commandlinefu10

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: