¿Qué son I18n y L10n?

Internacionalización (I18n) es el proceso de ingeniería de diseñar software para que pueda adaptarse a diferentes idiomas y regiones sin cambios de código. El “18” se refiere a las 18 letras entre la “I” y la “n” en “internationalization”.

Localización (L10n) es el proceso de adaptar una aplicación internacionalizada para un locale específico — traducir texto, ajustar formatos de fecha/número, manejar convenciones culturales y cumplir regulaciones locales.

Piensa en I18n como construir un auto con tablero intercambiable (volante puede ir a izquierda o derecha, instrumentos muestran km o millas). L10n es configurar ese auto para un país específico.

I18n vs L10n Testing

AspectoTesting I18nTesting L10n
Enfoque¿El código soporta múltiples locales?¿La adaptación específica es correcta?
CuándoDurante desarrolloDespués de traducción
PruebaExternalización de strings, encoding, formatosCalidad de traducción, apropiación cultural
QuiénDesarrolladores y QATraductores, hablantes nativos, QA

Qué Probar: Problemas de I18n

Externalización de Strings

Todo texto visible debe estar en archivos de recursos, no hardcodeado.

Cómo probar: Usar pseudo-localización, buscar strings hardcodeados en código fuente, verificar que mensajes de error, tooltips y emails estén externalizados.

Malo: "Bienvenido, " + userName + "! Tienes " + count + " mensajes." Bueno: i18n("welcome_message", {name: userName, count: count})

Encoding de Caracteres (UTF-8)

Cómo probar: Ingresar caracteres de varios scripts: chino (中文), árabe (العربية), japonés (日本語). Probar emoji 👋🌍. Verificar almacenamiento y visualización correcta. Probar búsqueda con caracteres no-latinos.

Formatos de Fecha, Hora y Número

FormatoEE.UU.AlemaniaJapónArabia
Fecha03/19/202619.03.20262026/03/19١٩/٠٣/٢٠٢٦
Número1,234.561.234,561,234.56١٬٢٣٤٫٥٦
Moneda$1,234.561.234,56 €¥1,234١٬٢٣٤٫٥٦ ر.س

Expansión y Contracción de Texto

Las traducciones son frecuentemente más largas que el inglés original:

IdiomaExpansión promedio desde inglés
Alemán+30%
Español+20%
Finlandés+30-40%
Chino-50%
Japonés-30%

Cómo probar: Verificar que elementos UI manejan texto más largo sin romper layout, que texto no se trunca sin elipsis, probar con pseudo-localización que expande 30-40%.

Idiomas de Derecha a Izquierda (RTL)

Árabe, hebreo, farsi y urdu se leen de derecha a izquierda. Esto afecta todo el layout.

Qué cambia: Alineación de texto se invierte, layout se espeja, barras de progreso se llenan de derecha a izquierda, texto bidireccional.

Cómo probar: Cambiar a idioma RTL, verificar que el layout se espeje correctamente, comprobar que números y texto inglés incrustado se muestren correctamente.

Moneda

  • Símbolo y formato correcto por locale
  • Posición del símbolo varía (€10 en Francia, 10€ en Alemania)
  • Algunas monedas sin decimales (JPY, KRW)

Sensibilidad Cultural

  • Colores tienen diferentes significados por cultura
  • Imágenes e íconos deben ser culturalmente apropiados
  • Formatos de nombre y dirección varían por país

Pseudo-Localización

Transforma texto en inglés a versión acentuada legible que simula efectos de traducción.

Original: “Save Changes” Pseudo-localizado: “[Šàvé Çĥàñĝéš!!!!!!]”

Agrega: caracteres acentuados (revelan problemas de encoding), expansión de texto ~40% (revela truncamiento), corchetes (revelan concatenación de strings).

Ejercicio: Checklist de L10n para App Multi-Idioma

Crea un checklist completo de testing de L10n para una aplicación web que debe soportar inglés, español, alemán, árabe y japonés.

Contexto

Plataforma e-commerce B2C con: listados de productos, carrito, checkout con pago, perfiles de usuario, emails y chat de soporte.

Tarea

Crea un checklist cubriendo todas las dimensiones de L10n/I18n con casos de prueba específicos para cada idioma soportado.

Pista: Piensa en Cada Punto de Contacto

Considera: texto de UI, formularios, fechas/horas, monedas, emails, PDFs, búsqueda, ordenamiento, errores, notificaciones y contenido generado por usuarios. Árabe requiere atención especial para layout RTL.

Solución: Checklist Completo de L10n

1. Externalización de Strings

  • Pseudo-localización — todo el texto UI transformado
  • Plantillas de email en los 5 idiomas
  • Mensajes de error traducidos
  • Facturas PDF en el locale del cliente
  • Notificaciones push/SMS localizadas

2. Encoding de Caracteres

  • Perfil con nombre alemán (Müller, Größe)
  • Reseña de producto en japonés
  • Búsqueda con caracteres árabes
  • Export CSV con contenido multi-idioma

3. Formatos de Fecha/Hora/Número

  • EN: March 19, 2026 / $1,234.56
  • ES: 19 de marzo de 2026 / $1.234,56
  • DE: 19. März 2026 / 1.234,56 €
  • AR: ١٩ مارس ٢٠٢٦ / ١٬٢٣٤٫٥٦ ر.س
  • JA: 2026年3月19日 / ¥1,234
  • Zonas horarias muestran hora local del usuario

4. Expansión de Texto

  • Menú de navegación en alemán (+30%) — sin overflow
  • Etiquetas de botones en español — sin truncamiento
  • Headers de tabla en todos los idiomas — columnas se adaptan
  • Layout móvil con texto alemán expandido

5. Layout RTL (Árabe)

  • Layout completo se espeja correctamente
  • Carrito fluye derecha a izquierda
  • Pasos de checkout progresan derecha a izquierda
  • Texto bidireccional (precio árabe con numerales) correcto
  • Íconos de navegación espejados
  • Etiquetas de formulario alineadas a la derecha

6. Moneda

  • USD: $1,234.56 / EUR: 1.234,56 € / JPY: ¥1,234 (sin decimales)
  • Posición del símbolo correcta por locale
  • Ordenamiento por precio funciona entre monedas

7. Sensibilidad Cultural

  • Imágenes apropiadas para todos los mercados
  • Formulario de dirección adapta por país
  • Formato de teléfono soporta formatos internacionales

8. Ordenamiento y Colación

  • Ordenamiento alfabético correcto en alemán (ä después de a)
  • Ordenamiento japonés usa colación correcta
  • Búsqueda árabe encuentra con/sin diacríticos
  • Ordenamiento español maneja ñ correctamente

Total: 45+ casos de prueba en 8 dimensiones.

Tips Profesionales

  • Pseudo-Localiza en CI/CD: Integra pseudo-localización en tu pipeline. Ejecuta tests E2E con strings pseudo-localizados para detectar problemas de layout automáticamente.
  • Prueba con Hablantes Nativos: Las herramientas automatizadas no detectan traducciones torpes o insensibilidad cultural. Que hablantes nativos revisen en contexto.
  • Separa Testing I18n de L10n: Primero I18n (¿el código soporta localización?) antes de L10n (¿la localización específica es correcta?).
  • Usa ICU MessageFormat: En lugar de concatenar strings, usa ICU MessageFormat para manejar plurales, género y variables. Maneja las enormes diferencias gramaticales entre idiomas.
  • No Olvides Contenido de Usuarios: Los usuarios ingresarán texto en cualquier idioma. Verifica que búsqueda, ordenamiento y visualización funcionen con contenido multi-idioma.