#!/usr/bin/env python ''' Translates text into english using Google Translate. Usage: python translate.py (or) echo | python translate.py For convenience, make a symlink to this file from /usr/bin/translate. ''' # derived from : http://code.google.com/p/py-gtranslate/source/browse/trunk/gtrans.py import sys import urllib2 import urllib import simplejson as json FROM_LANGUAGE = '' TO_LANGUAGE = 'en' BASE_URL = 'http://ajax.googleapis.com/ajax/services/language/translate' def translate(from_language, to_language, text): langpair = '%s|%s' % (from_language, to_language) params = {'v': '1.0', 'langpair': langpair, 'q': urllib.quote_plus(text)} params = '%s' % ('&'.join(['%s=%s' % (k,v) for (k,v) in params.items()])) url = '%s?%s' % (BASE_URL, params) resp = json.load(urllib2.urlopen(url)) try: return resp['responseData']['translatedText'] except: return phrase def main(text): print translate(FROM_LANGUAGE, TO_LANGUAGE, text) if __name__ == '__main__': args = sys.argv[1:] if args: text = ' '.join(sys.argv[1:]) else: text = sys.stdin.read() text = text.strip().replace('\n', '') main(text)