Volver al blog
Terminal window showing a Gemfile entry for the PolyLingo gem alongside a short Ruby translate call and its output hash.

Traducir contenido estructurado desde Ruby con la gema PolyLingo

By Robert M

Traducir contenido estructurado desde Ruby con la gema PolyLingo

La gema PolyLingo para Ruby ya está disponible en RubyGems. Cubre toda la superficie de la API de PolyLingo: traducción síncrona, solicitudes por lotes, trabajos asíncronos con sondeo y todos los endpoints de utilidad. No tiene dependencias en tiempo de ejecución y requiere Ruby 2.7 o superior.

Esta publicación explica la instalación, la configuración del cliente y cada método disponible en la gema.


Instalación

Agrega a tu Gemfile:

gem "polylingo"

Luego ejecuta:

bundle install

O instala directamente:

gem install polylingo

Sin dependencias en tiempo de ejecución. La gema usa solo la biblioteca estándar de Ruby para HTTP.


Configuración del cliente

require "polylingo"

client = PolyLingo.new(api_key: ENV.fetch("POLYLINGO_API_KEY"))

Hay dos configuraciones opcionales disponibles:

client = PolyLingo.new(
  api_key:  ENV.fetch("POLYLINGO_API_KEY"),
  base_url: "https://api.usepolylingo.com/v1", # por defecto, sobrescribir para instancias autoalojadas
  timeout:  120,                               # segundos (apertura + lectura), por defecto 120
)

Mantén tu clave API en una variable de entorno. Nunca la codifiques directamente ni la subas a control de versiones.


Traducción de contenido

Solicitud única

Pasa tu contenido, un arreglo de códigos de idiomas destino y un formato opcional:

result = client.translate(
  content: "# Hello\n\nThis is **structured** content.",
  targets: %w[es fr de],
  format:  "markdown"
)

puts result["translations"]["es"]
puts result["usage"]["total_tokens"]

El parámetro format acepta plain, markdown, json o html. Si se omite, la API detecta automáticamente el formato. También puedes pasar source como pista de idioma y model como `