Construye aplicaciones que funcionan en cualquier idioma y región: los estándares (Unicode, CLDR), los formatos de fecha, moneda y número por región y las librerías de i18n que los frameworks modernos usan.
Cuándo usarlo: Construir aplicaciones correctamente internacionalizadas que funcionen en cualquier idioma y región.
Herramienta recomendada: Claude
Eres un experto en ingeniería de software con especialización en internacionalización y localización de aplicaciones. Necesito que me ayudes a construir o adaptar mi aplicación para que funcione correctamente en múltiples idiomas, regiones y culturas sin reescribir el código base cada vez. Mi contexto: - Tipo de aplicación: [web app / mobile app / desktop / API / SaaS] - Stack tecnológico: [lenguaje, framework, base de datos] - Mercados objetivo iniciales: [lista los idiomas y regiones que quieres soportar] - Estado actual de i18n: [nunca lo hemos hecho / tenemos algo básico / migrando de una solución existente] - Complejidad del contenido: [solo UI strings / contenido dinámico de usuario / documentos / emails / reportes] Con ese contexto, dame: 1. FUNDAMENTOS: UNICODE, CLDR Y LOS ESTÁNDARES QUE DEBES CONOCER Explícame los estándares que toda aplicación internacionalizada debe respetar: qué es Unicode y por qué UTF-8 es el encoding que debes usar en todos los sistemas (base de datos, API, filesystem, HTTP headers), qué es el CLDR (Common Locale Data Repository) de Unicode y cómo los frameworks modernos lo usan para formatos de fecha, moneda y número. Incluye los errores más frecuentes de encoding que aparecen en producción y cómo evitarlos. 2. ARQUITECTURA DE I18N: CÓMO SEPARAR EL CONTENIDO DEL CÓDIGO ¿Cuál es la arquitectura correcta para externalizar los strings de la interfaz? Explícame los patrones más usados (archivos JSON, PO/POT files, bases de datos de traducciones, sistemas como ICU MessageFormat) y cuándo usar cada uno. Dame las convenciones de naming de claves de traducción que escalan bien, cómo gestionar las traducciones cuando el equipo crece y cuáles son los errores de arquitectura que se pagan muy caro más adelante. 3. FORMATOS DE FECHA, HORA, NÚMERO Y MONEDA POR REGIÓN Dame una guía práctica de los formatos que varían por región y que más frecuentemente causan bugs en producción: el orden de día, mes y año en diferentes países, el separador decimal y de miles, la posición del símbolo de moneda, los formatos de hora de 12 vs. 24 horas, y las zonas horarias incluyendo el horario de verano (DST). Incluye las librerías recomendadas por stack tecnológico para manejar estos formatos correctamente (Intl API en JavaScript, java.time en Java, dateutil en Python, Carbon en PHP, etc.). 4. PLURALIZACIÓN, GÉNEROS GRAMATICALES Y CASOS ESPECIALES ¿Cómo manejo correctamente la pluralización en diferentes idiomas? Explícame por qué el simple if singular else plural no funciona en ruso, árabe o polaco, cómo ICU MessageFormat resuelve este problema, cómo gestionar los géneros gramaticales en idiomas como el español, francés o alemán y cómo manejar los casos especiales como listas de elementos (Oxford comma en inglés vs. equivalentes en otros idiomas). 5. IDIOMAS BIDIRECCIONALES Y SOPORTE RTL ¿Cómo añado soporte para árabe, hebreo y otros idiomas RTL? Dame la guía técnica completa: el atributo dir en HTML, la propiedad CSS direction y unicode-bidi, cómo adaptar los layouts de CSS Flexbox y Grid para RTL sin duplicar el CSS, cómo manejar los iconos y las imágenes que asumen un flujo LTR, y las herramientas de testing para verificar que el diseño RTL funciona correctamente. 6. LIBRERÍAS Y FRAMEWORKS DE I18N POR STACK Dame una comparativa de las librerías de i18n más utilizadas para los principales stacks: react-i18next y react-intl para React, Vue I18n para Vue, Angular i18n nativo, i18n-js o Ruby-i18n para Rails, django-i18n para Django y el soporte nativo de Laravel. Para cada una indica: cómo se integra con CLDR, qué soporte de pluralización tiene, cómo gestiona las traducciones faltantes y cómo se integra con herramientas de gestión de traducciones. 7. PROCESO DE LOCALIZACIÓN Y GESTIÓN DE TRADUCCIONES ¿Cómo organizo el proceso de localización para que no sea un cuello de botella en el desarrollo? Dame el flujo de trabajo completo: la extracción automática de strings, las plataformas de gestión de traducciones (Lokalise, Phrase, Crowdin, Weblate), la integración con CI/CD para que las traducciones se actualicen automáticamente, y cómo establecer un proceso de QA de localización que detecte strings sin traducir, traducciones truncadas y errores de formato antes de que lleguen a producción.