Traducir con Ruby y BabelFish

Muchas veces hemos tenido necesidad de darle a alguna de nuestras aplicaciones, la capacidad de traducir un texto de un idioma a otro.

Hacer un traductor propio, si bien no es díficil,  si es laborioso el proveerle la información que permitiera realizar una traducción más o menos exacta.

BabelFish, tiene un  formulario que permite  traducir  un texto, si no tenemos tiempo para crear nuestro traductor,podemos aprovechar esta capacidad nos permitirá tener una traducción de calidad aceptable en un tiempo récord.

Este código realizado en Ruby, permite que puedas agregar esta capacidad a alguna de tus aplicaciones de Escritorio o Web realizadas con Rails.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
require 'net/http'
require 'rubygems'
require 'hpricot'
def translate(text, lp)
res = Net::HTTP.post_form(
URI.parse('http://espanol.babelfish.yahoo.com/translate_txt'), {
'ei'=>'UTF8',
'doit'=>'done',
'bf-home'=>'fr',
'int1'=>'1',
'tt'=>'urltext',
'trtext'=>text,
'lp'=>lp})
h = Hpricot(res.body)
r = (h/"#result").inner_html
puts(remove(r))
end
def remove(text)
text = text.gsub(/<div style="0.6em;">/,'').gsub(//,'')
return text
end
translate('penguin','en_es')

Espero les guste.

5 thoughts on “Traducir con Ruby y BabelFish”

  1. “Aceptable” en términos de hacer nosotros mismos el traductor…
    Tienes razón en que hay mejores servicios de traducción, en línea, la idea básica en la misma, los parámetros para el POST y la expresión regular de limpieza son los que cambiarían.
    Se aceptan sugerencias y gracias por el comentario!

  2. Pingback: blogring.org

Leave a Reply