El idioma depende de dónde se hable (¡doh!), Por lo que los códigos de idioma y ubicación reflejan esa realidad. zh
es el código de idioma básico, pero debido a que hay dos formas principales, existen zh_Hans
y zh_Hant
, pero siguen siendo solo códigos de idioma, no locales.
Específico de la ubicación
Para especificar completamente qué idioma se usa en una ubicación en particular , el código de país aún tiene que tener el sufijo, por lo que es zh_Hans_HK
y zh_Hant_HK
para el chino simplificado y tradicional, respectivamente, como se habla en Hong Kong.
En realidad, la realidad es que en muchos países a menudo se requiere algo más específico que el código de país, pero es probable que aumente exponencialmente la complejidad y el mantenimiento de las bases de datos como CLDR, además de la infraestructura de soporte para alimentarlas, como la IP para la extracción de detalles de ubicación. , no está disponible en general o no es lo suficientemente precisa.
Texto fijo
Ahora, si el código es solo para especificar qué conjunto de cadenas fijas usar en la interfaz de usuario, o incluso conjuntos de páginas enteras en un sitio, un sufijo de país no es realmente necesario, a menos que haya más de unos pocos lugares donde el idioma varía. significativamente (información basada en la ubicación) como para molestarse en crear un conjunto de recursos completamente separado.
Cuanto mayor sea el conjunto de recursos, es más probable que se requiera un código de idioma basado en la configuración regional [en este contexto, solo un atributo de idioma, en lugar de una configuración regional real, para que pueda llamarlo como desee!], Pero al menos usted solo tienes que hacer eso cuando sea necesario.
Valores sobre la marcha
Sin embargo, si desea formatear valores de variables particulares, como fechas, horas, monedas y números, las configuraciones regionales sobre la marcha se vuelven importantes, porque todas las herramientas que admiten dicha funcionalidad (como las basadas en datos Unicode CLDR) las esperan. La configuración regional para estos debe ser una configuración separada del código para el que se configura un lenguaje de interfaz de usuario generado internamente, a menos que desee crear un conjunto de recursos para cada configuración regional conocida y mantenerlos ad nauseum.
Herramientas de idioma del navegador
Tenga en cuenta que cuando se especifica la configuración regional para una página web que se puede editar, como en los cuadros de entrada, y se ha habilitado el corrector ortográfico en los atributos o css para el campo, las herramientas de idioma del navegador revisarán la ortografía del campo de acuerdo con esa configuración regional.
Criterios
Debe tener claro lo que proporciona el conjunto de recursos, así que considere:
- Cuerdas fijas? Solo idioma.
- ¿Formatear sobre la marcha? Lugar.
- ¿Corrección ortográfica en el entorno de visualización? Lugar.
- ¿Páginas completas / subsitio? Solo idioma, de lo contrario, configuración regional (como una variante de idioma) si se requiere contenido significativamente diferente.
Hoja de cálculo para minimizar los gastos generales de mantenimiento
Utilizo una hoja de cálculo para contener cadenas de interfaz de usuario donde cada código de idioma tiene un código principal, de modo que la celda para su versión de una cadena tiene una fórmula que obtiene su cadena del padre. Para crear una cadena personalizada para ese idioma y cadena, simplemente sobrescribo la fórmula de la celda con el texto exacto. Eso minimiza la cantidad de mantenimiento de recursos. Ejecuto una macro al final que genera un archivo de recursos completo para cada idioma.