Principios básicos de internacionalización
Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →
¿Qué es la internacionalización y por qué es importante?
El software internacionalizado soporta los idiomas y costumbres culturales de personas en todo el mundo. La web alcanza todas las partes del mundo. Las aplicaciones web internacionalizadas brindan una excelente experiencia de usuario para personas en cualquier lugar.
El software localizado se adapta a un idioma y cultura específicos traduciendo texto al idioma del usuario y formateando datos según sus expectativas. Una aplicación normalmente se localiza para un pequeño conjunto de localizaciones.
La especificación ECMA-402 de internacionalización en JavaScript ofrece un excelente resumen.
Localizaciones: Idioma y región
Una "localización" (locale) se refiere a las expectativas lingüísticas y culturales de una región. Se representa mediante un "código de localización" definido en UTS LDML.
Este código consta de varias partes separadas por guiones (-). La primera parte es una cadena corta que representa el idioma. La segunda parte, opcional, es una cadena corta que representa la región. Adicionalmente, pueden especificarse varias extensiones y variantes.
Para orientación sobre cómo elegir los componentes correctos de localización, consulte el artículo de W3C sobre selección de etiquetas de idioma.
Normalmente, las aplicaciones web se localizan solo para el idioma o combinación idioma-región. Ejemplos de estos códigos de localización son:
-
enpara inglés -
en-USpara inglés como se habla en Estados Unidos -
en-GBpara inglés como se habla en Reino Unido -
es-ARpara español como se habla en Argentina -
ar-001para árabe como se habla en todo el mundo -
ar-AEpara árabe como se habla en Emiratos Árabes Unidos
La mayoría de las aplicaciones internacionalizadas solo admiten una lista reducida de localizaciones.
Traducción de cadenas de texto
Probablemente tengas texto en tu aplicación en un idioma natural como inglés o japonés. Para admitir otras localizaciones, necesitarás traducir estas cadenas.
FormatJS proporciona un mecanismo que te permite escribir el "software" central de tu aplicación sin código especial para diferentes traducciones. Las consideraciones para cada localización se encapsulan en tus cadenas traducidas y nuestras bibliotecas.
const messages = {
en: {
GREETING: 'Hello {name}',
},
fr: {
GREETING: 'Bonjour {name}',
},
}
Utilizamos la sintaxis de mensajes ICU que también se emplea en Java, C, PHP y otras plataformas.
Agrupación de cadenas traducidas
Es común organizar tus traducciones principalmente por localización, porque solo necesitas las traducciones para la localización actual del usuario. Nuestras integraciones con motores de plantillas y bibliotecas de componentes están diseñadas para trabajar con traducciones de una única localización. Si tu aplicación es compleja, puedes subdividir tus traducciones, por ejemplo por página o sección del sitio.
Estructura del código
El formateo y presentación real de datos y cadenas traducidas normalmente sigue estos pasos:
-
Determina la localización del usuario, como se describe en la guía de Entornos de Ejecución.
-
Configura una de las integraciones de FormatJS con los siguientes datos:
- la localización actual del usuario
- cadenas traducidas para esa localización
- opcionalmente, formatos personalizados
-
Llama al motor de plantillas, pasando los datos que necesitan formateo.