Trago обновился

Несмотря на то, что новые статьи не выходили давно, я расскажу немного о языке Go.

Я когда-то в качестве примера писал утилитку trago. Я хотел показать, что работать в Go с сетью просто.
Так вот — я был неправ. Я не знал, что работать на самом деле можно еще проще.

TraGo — это консольный переводчик, использующий Google Translate API. Это API ориентировано на AJAX, а потому использует формат JSON для передачи данных. Спешу вас обрадовать — в Go есть встроенный пакет для маршаллинга/демаршаллинга этих пакетов, а значит не надо парсить их вручную убогими функциями пакета string!

Благодаря такому упрощению trago научился переводить текст еще проще:

trago -lang ru:en Во поле береза стояла

Пара «ru:en» говорит с какого языка (ru) на какой (en) выполнять перевод. Более того, trago может использовать API для определения языка, поэтому можно писать:

trago -lang en Во поле береза стояла

Ну и поскольку все интернеты бурлят новостями о сервисе FunnyTranslator, trago тоже не отстает. Появилась опция «funny», которая переводит текст по цепочке иностранных языков. Длину цепочки можно выбирать самому. Получается неузнаваемо.

$ ./trago -funny 20 Во поле береза стояла, во поле кудрявая стояла
Translating to af: In die veld van berk het in die veld was 'n krullerige hare
Translating to ar: في مجال البتولا في الميدان كان الشعر المجعد
Translating to be: У вобласці бярозы ў поле павойнымі валасамі
Translating to bg: В областта на бреза в областта на къдрава коса
Translating to ca: A l'àrea de bedoll al cabell arrissat
Translating to zh: 在面积卷曲的头发白桦树
Translating to cs: Kudrnaté vlasy v oblasti bílé břízy
Translating to nl: Krullend haar in witte berken
Translating to en: Curly hair in white birch
Translating to fi: Tukka valkoinen koivu
Translating to de: Haired weiße Birke
Translating to it: Haired frusta bianca
Translating to ja: 白樺の髪
Translating to lv: Matu bērzs
Translating to lt: Plaukų beržo
Translating to no: Hair bjørk
Translating to pl: brzoza włosów
Translating to ru: Волосы березы
Translating to es: Pelo de abedul
Translating to uk: Волосся берези
Волосы березы

Так что, изучайте языки — у них могут быть действительно широкие возможности!

Реклама

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s