Caso práctico
Chaos – herramienta de localización de contenido web
Chaos es un líder mundial en tecnología de visualización 3D, fundado en 1997 y conocido por V-Ray - el motor de renderizado basado en física galardonado con un Premio de la Academia y un Engineering Emmy. Tras la fusión con Enscape, el porfolio de la empresa abarca V-Ray, Enscape, Corona, Vantage, Phoenix y Cosmos, y da servicio a los sectores de arquitectura, ingeniería y construcción, medios y entretenimiento, diseño de producto y fabricación.
Con sede central en Karlsruhe y oficinas en Sofía, Praga, Tokio, Seúl, Los Ángeles y Nueva York, Chaos atiende a una base de clientes de todo el mundo - lo que convierte la rapidez y la precisión de la traducción de su contenido web en una cuestión comercial directa.
El proyecto
El reto
El sitio web chaos.com está construido sobre una arquitectura basada en componentes: cada página se almacena como un documento JSON que contiene una lista de widgets, cada uno con su propio objeto de configuración profundamente anidado. Los textos de marketing viven dentro de esa configuración - titulares, etiquetas de botones, títulos de pestañas, citas de testimonios, entradas de preguntas frecuentes, avisos legales de formularios - mezclados con parámetros de maquetación, referencias a archivos multimedia, indicadores de estilo e identificadores de widgets.
Localizar una página suponía que un desarrollador o un editor de contenido abriera el JSON en bruto y editara a mano los valores dentro de arrays anidados. Era lento, no se podía encargar a una agencia de traducción y bastaba con un corchete mal colocado o un ID de widget modificado por accidente para romper la página. Chaos necesitaba una forma de extraer el texto traducible, ponerlo en manos de los traductores y devolverlo al sitio de forma segura.
Nuestro enfoque
Desarrollamos una aplicación de escritorio para Windows en C#/.NET que realiza un recorrido de ida y vuelta sin pérdidas entre el JSON de la página y una hoja de cálculo pensada para traductores.
En el centro hay un mapa de campos configurable que cubre más de 50 tipos de componentes de widget, en el que cada componente declara cuáles de sus parámetros contienen texto traducible - expresados como rutas en notación de puntos, como list.title, tabs.description o button_1.sub_line. Un motor de recorrido recursivo resuelve esas rutas a través de objetos y arrays anidados de cualquier profundidad, de modo que la herramienta llega al texto de los elementos repetidos de una lista con la misma fiabilidad que a los campos de primer nivel. Los valores SEO de la página (meta título y descripción) se extraen junto con el contenido de los widgets.
El propio JSON se trata como un documento dinámico y no como un modelo de datos fijo. Solo se vuelven a escribir los valores de texto mapeados - los IDs de widget, la estructura, la configuración, el orden y las referencias multimedia se devuelven intactos, byte a byte. Esta fue la decisión de diseño clave: la herramienta no puede corromper físicamente la estructura de una página.
Cómo funciona
- Paso uno - el editor selecciona un archivo JSON de página. La herramienta genera un libro de Excel con todas las cadenas traducibles, con columnas para el ID de widget, el componente, la clave del parámetro, el valor de origen y una columna Traducción vacía. Cualquier componente o campo que el mapa no reconozca se notifica como advertencia en lugar de omitirse en silencio.
- Paso dos - se selecciona el libro ya completado y la herramienta escribe un nuevo archivo JSON traducido, listo para importarse de vuelta al CMS. Los nombres de archivo se derivan automáticamente del original, de modo que la correspondencia entre origen, hoja de cálculo y resultado nunca puede desajustarse.
Lo que entregamos
- Una aplicación de escritorio de dos botones que el personal de marketing y de localización puede usar sin intervención de desarrolladores y sin ver nunca el JSON en bruto
- Un mapa de campos que cubre más de 50 componentes de widget, ampliable a nuevos componentes añadiendo una sola entrada de configuración
- Resolución recursiva de rutas a través de objetos y arrays anidados a cualquier nivel
- Exportación e importación en Excel como formato principal para los traductores, más exportación a XLIFF 1.2 para agencias de traducción profesionales y herramientas CAT
- Un informe de advertencias que muestra los componentes sin mapear y los campos que faltan antes de empezar la traducción, y no después
- Escritura no destructiva que garantiza la integridad de la estructura de la página
El resultado
Traducir una página pasó de ser una tarea manual de desarrollo a una operación de dos clics. El contenido ahora se puede enviar a traductores o agencias externas en un formato estándar con el que ya trabajan, y devolverlo al sitio sin que nadie toque el JSON subyacente - lo que elimina tanto el cuello de botella como el riesgo de romper páginas en producción. A medida que crece la biblioteca de componentes del sitio, la herramienta crece con ella mediante configuración y no mediante código.
Tecnologías
C#
.NET 8
.NET 9- Windows Forms
- Newtonsoft.Json
EPPlus- XLIFF 1.2
Excel automation