
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 `