[Surfraw-commits] [SCM] surfraw - a fast unix command line interface to WWW branch, master, updated. surfraw_2-2-5_1-178-ge521c5f
Ian Beckwith
ianb at erislabs.net
Wed Mar 23 00:51:13 UTC 2011
The following commit has been merged in the master branch:
commit 8e2a07ecc2abb9182095c6cbdb3eb814df64f0b7
Author: Ian Beckwith <ianb at erislabs.net>
Date: Mon Mar 21 21:12:20 2011 +0000
Added Google Translate to elvi/translate
diff --git a/ChangeLog b/ChangeLog
index 0e6addc..e806918 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2011-03-21 Ivy Foster <joyfulgirl at archlinux.us>
+
+ * Added Google Translate to elvi/translate.
+
2011-03-03 Ian Beckwith <ianb at erislabs.net>
* opensearch: new option -r, uses redirector at
diff --git a/elvi/translate b/elvi/translate
index 2823605..fae9e55 100755
--- a/elvi/translate
+++ b/elvi/translate
@@ -11,7 +11,7 @@ def SURFRAW_translate_to "$SURFRAW_lang"
w3_usage_hook () {
cat <<EOF
-Usage: $w3_argv0 [options] [words-to-translate]...
+Usage: $w3_argv0 [options] [words|URI]...
Description:
Surfraw translate human language
Local options:
@@ -22,27 +22,80 @@ Local options:
-provider= Translation service provider
babelfish babelfish.yahoo.com (systrans)
raging babelfish.yahoo.com/raging (systrans)
+ google http://translate.google.com
Default: $SURFRAW_translate_provider
Environment: SURFRAW_translate_provider
-Languages:
- de German
+Languages (any provider):
+ nl Dutch
en English
- es Spanish
fr French
- it Italian
- nl Dutch
+ de German
el Greek
+ it Italian
ja Japanese
ko Korean
pt Portuguese
ru Russian
- zh Simplified Chinese
- zt Traditional Chinese
-
+ es Spanish
+Languages (Systrans only):
+ zh Chinese (Simplified)
+ zt Chinese (Traditional)
+Languages (Google only):
+ auto Automatically detect language
+ af Afrikaans
+ sq Albanian
+ ar Arabic
+ hy Armenian
+ az Azerbaijani
+ eu Basque
+ be Belarusian
+ bg Bulgarian
+ ca Catalan
+ zh-CN Chinese (Simplified)
+ zh-TW Chinese (Traditional)
+ hr Croatian
+ cs Czech
+ da Danish
+ et Estonian
+ tl Filipino
+ fi Finnish
+ gl Galician
+ ka Georgian
+ ht Hatian Creole
+ iw Hebrew
+ hi Hindi
+ hu Hungarian
+ is Icelandic
+ id Indonesian
+ ga Irish
+ la Latin
+ lv Latvian
+ lt Lithuanian
+ mk Macedonian
+ ms Malay
+ mt Maltese
+ no Norwegian
+ fa Persian
+ pl Polish
+ ro Romanian
+ sr Serbian
+ sk Slovak
+ sl Slovenian
+ sw Swahili
+ sv Swedish
+ th Thai
+ tr Turkish
+ uk Ukrainian
+ ur Urdu
+ vi Vietnamese
+ cy Welsh
+ yi Yiddish
Examples:
$w3_argv0 Provider's standard translation page
$w3_argv0 -provider=raging Use raging search as a translation provider
$w3_argv0 -from=fr -to=en la verite vous liberera
+ $w3_argv0 -from=en -to=es http://tashian.com/multibabel
+ Translate the given Web page
Bugs:
Systrans derived providers only support the following translation
combinations:
@@ -84,25 +137,47 @@ w3_parse_option_hook () {
w3_config
w3_parse_args "$@"
# w3_args now contains a list of arguments
-if test -z "$w3_args"
+if [ "$SURFRAW_translate_provider" = "google" ]
then
- w3_browse_url "http://babelfish.yahoo.com/"
+ if test -z "$w3_args"
+ then w3_browse_url "http://translate.google.com/"
+ else
+ if [ -z "$SURFRAW_translate_to" ];
+ then
+ SURFRAW_translate_to="en"
+ fi
+ if [ -z "$SURFRAW_translate_from" ];
+ then
+ SURFRAW_translate_from="fr"
+ fi
+ escaped_args=`w3_url_of_arg $w3_args`
+ case "$escaped_args" in
+ http*) w3_browse_url "http://translate.google.com/translate?&sl=${SURFRAW_translate_from}&tl=${SURFRAW_translate_to}&u=${escaped_args}"
+ ;;
+ *) w3_browse_url "http://translate.google.com/?&sl=${SURFRAW_translate_from}&tl=${SURFRAW_translate_to}&q=${escaped_args}"
+ ;;
+ esac
+ fi
else
+ if test -z "$w3_args"
+ then w3_browse_url "http://babelfish.yahoo.com/"
+ else
if [ -z "$SURFRAW_translate_to" ];
- then
- SURFRAW_translate_to="en"
- fi
+ then
+ SURFRAW_translate_to="en"
+ fi
if [ -z "$SURFRAW_translate_from" ];
- then
- SURFRAW_translate_from="fr"
- fi
- escaped_args=`w3_url_of_arg $w3_args`
- case "$escaped_args" in
- http*) w3_browse_url "http://babelfish.yahoo.com/translate_url?tt=url&url=${escaped_args}&lp=${SURFRAW_translate_from}_${SURFRAW_translate_to}"
- ;;
- *) w3_browse_url "http://babelfish.yahoo.com/translate_txt?doit=done&tt=urltext&intl=1&urltext=${escaped_args}&lp=${SURFRAW_translate_from}_${SURFRAW_translate_to}"
- ;;
- esac
+ then
+ SURFRAW_translate_from="fr"
+ fi
+ escaped_args=`w3_url_of_arg $w3_args`
+ case "$escaped_args" in
+ http*) w3_browse_url "http://babelfish.yahoo.com/translate_url?tt=url&url=${escaped_args}&lp=${SURFRAW_translate_from}_${SURFRAW_translate_to}"
+ ;;
+ *) w3_browse_url "http://babelfish.yahoo.com/translate_txt?doit=done&tt=urltext&intl=1&urltext=${escaped_args}&lp=${SURFRAW_translate_from}_${SURFRAW_translate_to}"
+ ;;
+ esac
+ fi
fi
exit $?
diff --git a/test/translate.test b/test/translate.test
index a0b1886..e2f98d2 100644
--- a/test/translate.test
+++ b/test/translate.test
@@ -1,2 +1,4 @@
translate -from=en -to=de cats
Katzen
+translate -provider=google -from=en -to=es cats
+gatos
--
surfraw - a fast unix command line interface to WWW
More information about the Surfraw-commits
mailing list