В качестве языка выбрал python. Побродив по просторам всемирной паутины, готовой имплиментации python API для GoogleTranslate не обнаружил. Пришлось разбиратся самому. Вообщем-то ничего сложного:
Обращаемся по URL(пример которого приведен ниже) в ответ получам JSON со статусом ответа, и если все хорошо то там же найдем и перевод:
URL:
http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&langpair=[FROM]%7C[TO]&q=[TEXT]
FROM - из какого языка переводить
%7С - разделитель в виде вертикальной черты(|)
TO - в какой язык переводить
TEXT - текст который нужно перевести
Ответный JSON:
{responseData: {translatedText: [TEXT]}, responseDetails: None, responseStatus: [STATUS]}
translatedText - переведенный текст
responseStatus - статус сообщения
Так как я использую python 2.5, для работы с JSON легким движением руки установил simplejson
- sudo apt-get install python-simplejson
После этого написал модуль для работы с GoogleTranslate API:
- #!/usr/bin/env python
- import simplejson
- import urllib
- import sys
- GOOGLE_TRANSLATE_AJAX_URL = "http://ajax.googleapis.com/ajax/services/language/translate?"
- LANGUAGE_SEPARATOR = "|"
- RESPONSE_STATUS = "responseStatus"
- RESPONSE_DATA = "responseData"
- TRANSLATED_TEXT = "translatedText"
- def translate(fromLanguage, toLanguage, text):
- """ Translate text using google translate service"""
- # Generate url
- url = GOOGLE_TRANSLATE_AJAX_URL + urllib.urlencode({"v" : "1.0", \
- "langpair" : fromLanguage + LANGUAGE_SEPARATOR + toLanguage, \
- "q" : text})
- result = simplejson.load(urllib.urlopen(url))
- if (result[RESPONSE_STATUS]== 200):
- return result[RESPONSE_DATA][TRANSLATED_TEXT]
Вот такой простенький модуль получился =).
Ну а теперь код основного скрипта:
- #!/usr/bin/env python
- from googledict import translate
- import sys
- def main(args):
- fromLanguage = args[0][:2]
- toLanguage = args[0][2:]
- text = args[1]
- print translate(fromLanguage, toLanguage, text)
- if __name__ == "__main__":
- main(sys.argv[1:])
Ну вот и подружились =):
>./gt.py enru "Hello world"
Привет мир
Привет мир
Простенький скриптик всего с 2-мя аргументами. Первый аргумент состаит из двух частей, первые 2-е буквы это язык из которого переводим, вторые 2-е в который переводим. Ну а второй аргумент собственно что переводим.
Сорци всего этого добра можно найти Тут
Всем спосибо кто дочитался до этих строк.
Всего доброго...
Элегантно! =)
ОтветитьУдалить