[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