PostShare
Ingeniería30 de marzo de 2026·9 min

Construyendo Apps Bilingües: Nuestro Enfoque de Localización EN/ES

RC

Rashad Cureton

Fundador, Cure Consulting Group

Construyendo Apps Bilingües: Nuestro Enfoque de Localización EN/ES
Volver al Blog

Por qué la Mayoría de las Apps Bilingües Se Sienten Rotas

Las ha visto — apps donde la versión en español es claramente un pensamiento de último momento. Botones que se desbordan porque "Submit" se convirtió en "Enviar formulario de solicitud." Formatos de fecha que muestran MM/DD/YYYY a usuarios que esperan DD/MM/YYYY. Símbolos de moneda en la posición incorrecta.

En Cure Consulting Group, el soporte bilingüe no es una funcionalidad que agregamos al final. Es una decisión arquitectónica que tomamos el día uno. Cada producto que entregamos — desde Vendly sirviendo a comerciantes LATAM hasta este mismo sitio web — está diseñado para inglés y español desde cero.

Así es exactamente como lo hacemos.

Arquitectura Primero: El Patrón de Diccionario

La base de nuestra arquitectura i18n es el patrón de diccionario. En lugar de esparcir textos traducidos por todo el código, centralizamos todo el texto en archivos de diccionario estructurados.

Para nuestros proyectos Next.js (como este sitio web), la estructura se ve así:

src/
  dictionaries/
    en.json
    es.json
  app/
    [lang]/
      page.tsx
      layout.tsx

Cada diccionario es un objeto JSON anidado organizado por funcionalidad. El diccionario en español refleja esta estructura exactamente. Si una clave existe en inglés, debe existir en español. Aplicamos esto con TypeScript — nuestro tipo de diccionario se genera del archivo en inglés, y el archivo en español debe satisfacer la misma interfaz.

Enrutamiento Dinámico por Idioma

Usamos middleware de Next.js para detectar el idioma preferido del usuario y enrutar en consecuencia:

  • Detección del navegador: Verificar el header Accept-Language en la primera visita
  • Basado en URL: /en/services vs /es/services
  • Preferencia persistente: Almacenar la elección en una cookie

El insight clave: el idioma es un parámetro de ruta, no una variable de estado. Esto significa que cada página tiene una URL única por idioma, lo cual es crítico para SEO.

Más Allá de la Traducción de Textos: Adaptación Cultural

La traducción es quizás el 40% de la localización. El resto es adaptación cultural:

Formato de Fechas y Números

En EE.UU.: March 10, 2026 / $1,500.00 En América Latina: 10 de marzo de 2026 / $1.500,00

Note que los separadores decimales y de miles se intercambian. Usamos la API Intl para todo el formateo. Usamos es-419 (español latinoamericano) en lugar de es-ES (español de España) porque nuestros clientes sirven principalmente mercados LATAM.

Expansión de Texto

El texto en español es típicamente 20-30% más largo que en inglés. Esto no es trivial — afecta anchos de botones, etiquetas de navegación y columnas de tablas.

Nuestra solución: diseñar para el idioma más largo primero. Si la versión en español se ve bien, la versión en inglés siempre cabrá. Aprendimos esto a las malas en Vendly, donde las etiquetas del dashboard para comerciantes se desbordaban en pantallas pequeñas.

Formalidad y Tono

Reciba ideas como esta en su correo

Consejos prácticos sobre IA, mobile y cloud — sin spam.

El inglés tiene un "you." El español tiene "tú" (informal) y "usted" (formal). Para software empresarial, usamos "usted" por defecto — es más seguro y profesional en toda la región LATAM. Pero para apps de consumo dirigidas a demografías jóvenes, "tú" se siente más natural.

Documentamos esta decisión en nuestra guía de estilo por proyecto. Mezclar tratamiento formal e informal dentro de una app es discordante y poco profesional.

Reglas de Pluralización

El inglés tiene dos formas plurales (1 item, 2 items). El español también tiene dos, pero las reglas difieren en algunos casos extremos. Si podría localizar más allá de EN/ES después, use ICU MessageFormat desde el inicio.

Consideraciones Móviles

Para nuestros proyectos en Kotlin y Swift, la localización sigue las convenciones de la plataforma:

Android (Kotlin)

  • Recursos de strings en res/values/strings.xml y res/values-es/strings.xml
  • Plurales manejados con recursos
  • Usamos exclusivamente stringResource() de Jetpack Compose — sin strings hardcodeados

iOS (Swift)

  • Archivos .strings o String Catalogs (nuevo en Xcode 15+)
  • String(localized:) para todo texto visible al usuario
  • Auto Layout maneja la expansión de texto naturalmente

La disciplina es la misma en ambas plataformas: nunca hardcodear texto visible al usuario. Agregar i18n retroactivamente es diez veces más caro que incluirlo desde el inicio.

Probando Apps Bilingües

Nuestro proceso de testing incluye:

  • Pseudo-localización: Reemplazar todos los strings con versiones acentuadas para detectar texto hardcodeado.
  • Testing de longitud: Ejecutar la app con strings 30% más largos para detectar desbordamientos.
  • Revisión por hablante nativo: La traducción automática es un punto de partida, nunca el producto final. Cada string en español es revisado por un hablante nativo de español LATAM.
  • Revisión cultural: Screenshots revisados para apropiación cultural.
  • Testing de formato: Verificar que fechas, números, moneda y teléfonos se muestren correctamente por localidad.

SEO para Sitios Web Bilingües

Para nuestros sitios Next.js, el SEO bilingüe requiere:

  • Tags hreflang: Indicar a Google cuál es la versión en inglés y cuál en español
  • Meta descripciones separadas: Traducir y adaptar, no solo reflejar
  • URLs localizadas: /en/services y /es/servicios
  • Sitemaps por idioma: O un solo sitemap con anotaciones hreflang

El Costo de Hacerlo Bien (y Mal)

Agregar soporte bilingüe desde el inicio agrega aproximadamente 15-20% al costo de desarrollo frontend. Ese es el costo de mantener dos archivos de diccionario, probar ambos idiomas y manejar la expansión de texto en la UI.

¿Agregar soporte bilingüe retroactivamente? 40-60% del costo frontend original, porque está refactorizando componentes que asumían un solo idioma.

Para negocios que sirven al mercado hispano de EE.UU. (63 millones de personas, $3.2 billones en PIB), esa inversión inicial del 15-20% es una de las decisiones con mayor ROI que puede tomar.


¿Construyendo un producto bilingüe? Agende una consulta gratuita — revisaremos su arquitectura y le ayudaremos a planificar localización que escale.

i18nLocalizationSpanishReactNext.js
RC

Escrito por

Rashad Cureton

Fundador e Ingeniero Principal

Rashad es el fundador de Cure Consulting Group. Anteriormente ingeniero en JP Morgan, Ford, Clear, NYT, Kickstarter y Big Nerd Ranch. Construye apps web y moviles full-stack para startups y empresas de todos los tamanos.

¿Le gustó este artículo?

Agende una revisión de arquitectura gratuita de 30 minutos para discutir su proyecto.

Agendar Revisión

Artículos relacionados