Este sitio web se traduce automáticamente a varios idiomas con software desarrollado por Kohei Koyanagi. Consulte el original en inglés para mayor precisión.

Cómo se traduce este blog a 42 idiomas

El blog de Splync tiene 42 idiomas

Este es el artículo número 23 en mi blog para Splync, un rastreador de presupuestos compartidos para parejas, amigos y familias. Podrías preguntarte cómo publico cada entrada en 42 idiomas a pesar de ser un ingeniero solitario. Como dice el aviso al principio de cada artículo, este sitio web se traduce automáticamente a varios idiomas usando un software que construí yo mismo. Para ser claro: no escribo manualmente ni una sola frase en ningún idioma que no sea inglés. Por ello, pido amablemente a los lectores que se refieran a la versión original en inglés cuando la precisión del significado sea realmente importante. Aun así, después de muchas rondas de ensayo y error mejorando la traducción, creo que la calidad general es razonablemente buena. En este artículo, compartiré lo que hace mi software para que el blog de Splync sea multilingüe.

Python y OpenAI API lo hacen juntos

Siempre comienzo escribiendo cada artículo en inglés simple, incluyendo los metadatos relacionados con SEO. Después, mi script de Python envía el texto en inglés a la API de OpenAI, junto con un prompt y un pequeño archivo de referencia. En los servidores de OpenAI, ChatGPT-4o lee la solicitud y devuelve el artículo traducido —por ejemplo, la versión en árabe— en formato JSON. Una vez que mi MacBook recibe esa traducción, el script envía inmediatamente otra solicitud, esta vez pidiendo bengalí. El script recorre automáticamente los 42 idiomas objetivo. Al final del proceso, mi computadora tiene 42 archivos JSON traducidos. Otro script de Python luego inserta cada traducción en una plantilla HTML y genera 42 archivos HTML en menos de un segundo. Todos los archivos se suben al servidor donde se aloja este blog, y cada versión de idioma se coloca en su propio directorio. Finalmente, un script de Python del lado del servidor actualiza el índice del artículo y los enlaces de "Siguiente artículo" para que la navegación de cada idioma sea coherente. Con el artículo original en inglés escrito en texto simple, todo el proceso suele tardar 5 minutos o menos. Cuando necesito hacer cambios, actualizo múltiples archivos HTML simultáneamente utilizando scripts de Python del lado del servidor.

Qué es una API

Si no estás familiarizado con los términos técnicos, podrías preguntarte cómo "habla" mi computadora con el servidor de OpenAI en primer lugar. La respuesta es algo llamado API, Interfaz de Programación de Aplicaciones. Puedes pensar en una API como una ventana de mensajería entre dos programas: un programa envía una solicitud y el otro envía una respuesta. Por ejemplo, mi script de Python envía un mensaje como, "Por favor traduce este artículo al alemán". OpenAI recibe ese mensaje a través de la API, prepara la traducción y envía el resultado de vuelta. Funciona igual que hacer un pedido en un restaurante: le dices al camarero lo que quieres, la cocina lo prepara y el camarero te lo lleva a la mesa. ¿Y por qué necesitas un camarero en primer lugar? Porque no entras a la cocina ni hablas directamente con el chef —no sabes cómo funciona la cocina y no necesitas hacerlo. Podrías decir, "¿Puedo tener una hamburguesa con queso?" al camarero, y el camarero podría gritar, "¡Pedido listo! T21, Chihuahua!" en un formato completamente diferente. Una API juega el mismo papel. Conecta dos sistemas diferentes sin requerir que entiendan el idioma o flujo de trabajo interno del otro.

Por qué necesito la API de OpenAI

Ahora que hemos visto qué es una API, aquí está la razón por la que realmente dependo de ella para este blog. Prácticamente hablando, sé cómo "hablar" con ChatGPT yo mismo —pero tengo 42 idiomas para procesar. Llamar a un camarero 42 veces sería tedioso (el programa omite traducir inglés a inglés, pero aún convierte el texto en JSON). Usar la API de OpenAI permite que mi script de Python envíe todas esas solicitudes automáticamente, ahorrándome el trabajo repetitivo para poder concentrarme en otras cosas. Soy un desarrollador solitario, así que necesito usar mi tiempo de la manera más eficiente posible. Siempre que veo una tarea repetitiva y con reglas claras, la automatizo. El resultado suele ser un proceso mil veces más rápido y completamente libre de errores. Por eso la automatización a través de la API es esencial —permite que mi script realice los 42 "pedidos" de manera instantánea y confiable.

Por qué 42 idiomas

Técnicamente, podría añadir muchos más idiomas; simplemente tomaría unos minutos más ejecutarlo mientras lavo los platos. Pero personalmente me gusta el número 42, la "Respuesta a la Última Pregunta sobre la Vida, el Universo y Todo" del libro de Douglas Adams. Más allá de mi apego al número 42, añadir idiomas muy minoritarios puede ser arriesgado, porque la traducción de IA puede volverse menos confiable para idiomas con datos de entrenamiento limitados.

Temperatura de ChatGPT 4o

Cuando experimenté por primera vez con este enfoque de traducción multilingüe, los resultados fueron decentes pero no perfectos. Algunas frases se tradujeron mal, de manera demasiado literal o ligeramente engañosa en ciertos idiomas. También me preocupaba generar involuntariamente expresiones que pudieran ser inapropiadas o insensibles en contextos culturales específicos. Y, por supuesto, no quería que mis traducciones sonaran robóticas o mecánicas. Uno de los factores clave detrás de la calidad de la traducción es el ajuste de temperatura —un parámetro que controla cuán "creativo" o "estricto" debe ser la IA. Una temperatura alta hace que la IA sea más imaginativa, pero también más impredecible. Una temperatura baja hace que se mantenga cerca del significado original, pero a veces puede parecer rígido. Me llevó mucho ensayo y error encontrar el equilibrio adecuado: lo suficientemente bajo para garantizar la precisión, pero no tan bajo como para que el texto se volviera sin vida. Después de muchos experimentos, sentí que una temperatura = 0.8 era la mejor para las necesidades de este blog: lo suficientemente precisa como para ser fiel al original en inglés, pero lo suficientemente flexible como para sonar natural en otros idiomas.

ChatGPT 5.x no soporta temperatura

Los modelos más nuevos, como ChatGPT 5 y 5.1, ya no soportan ajustes de temperatura en absoluto —el parámetro ha sido eliminado y reemplazado por conceptos como razonamiento y esfuerzo, que influyen en cómo piensa el modelo más que en cuán "creativo" se vuelve. En otras palabras, ChatGPT 4o me daba un dial físico que podía girar para ajustar el estilo de traducción, pero la familia 5.x sigue una filosofía totalmente diferente. Si casualmente le pides al modelo más nuevo que "traduzca esto con temperatura = 0.8", podrá intentar comportarse como si tal ajuste aún existiera, pero internamente el parámetro ha desaparecido. El modelo simplemente aproxima la intención. A medida que OpenAI sigue actualizando sus modelos, podría ajustar mi pipeline de traducción algún día. Por ahora, ChatGPT 4o sigue siendo mi elección para traducciones multilingües —no solo porque entiende bien el contexto en muchos idiomas, sino también porque su precio de API es razonable para un desarrollador solitario como yo. De hecho, 4o podría pasar a la historia como uno de los modelos más queridos de OpenAI.

Trabajadores de la API de OpenAI

Una cosa asombrosa sobre la API de OpenAI —en comparación con usar ChatGPT directamente en un navegador— es que puedes usar más de un "trabajador" de ChatGPT al mismo tiempo. Cuando envío solicitudes de traducción para 42 idiomas, no las estoy enviando una por una en una fila lenta. En cambio, la API puede procesar muchas solicitudes en paralelo, como si de repente contratara a una sala llena de traductores que comienzan a trabajar a la vez. Mi script de Python maneja el flujo de trabajo como una pequeña línea de producción: prepara el artículo en inglés, envía las solicitudes, espera las respuestas y procesa los resultados en archivos JSON. Mientras tanto, los servidores de OpenAI ejecutan múltiples instancias del modelo simultáneamente, cada uno traduciendo un idioma diferente en paralelo. Esto es algo que el sitio web o la aplicación de ChatGPT no pueden hacer —esas interfaces te dan un modelo, una conversación, una tarea a la vez. Pero con la API, puedes escalar tu carga de trabajo tanto como tu script lo permita. Para un desarrollador solitario como yo, esto se siente como tener un pequeño equipo de asistentes inteligentes y sin ego. Depende en parte de la velocidad de internet, pero generalmente establezco workers = 12.

Lo que hago para multilingüizar mi blog es lavar los platos

Solía trabajar como lavaplatos en la cafetería estudiantil cuando estudiaba matemáticas en la Universidad de Kioto. Aunque el pago era de unos 5 USD por hora, siempre me ha gustado el trabajo manual repetitivo después de pasar varias horas —o a veces varios días— en profunda concentración intelectual. Más tarde, cuando trabajé en una fábrica de ajo en Hokkaido, mi trabajo era simplemente pulir miles de bulbos de ajo blanco para que se vieran más brillantes en la cinta transportadora. Ocho horas al día —enfoque total, ritmo constante. Era extrañamente satisfactorio. Ahora, volviendo de esos recuerdos, actualmente hago trabajo intelectual —escribiendo software, diseñando sistemas, componiendo estos artículos. Pero el equilibrio no ha cambiado. Si me preguntas cómo logro publicar un artículo de blog en 42 idiomas por mí mismo, la respuesta honesta es: lo hago lavando los platos.