El idioma depende de dónde se hable (¡doh!), De modo que los códigos de idioma y configuración regional reflejan esa realidad. zh
es el código de idioma básico, pero debido a que hay dos formas principales de él, hay zh_Hans
y zh_Hant
, pero siguen siendo solo códigos de idioma, no configuraciones regionales.
Para especificar completamente el idioma que se utiliza en un determinado ubicación , el código de país todavía tiene que ser el sufijo, así que hacer zh_Hans_HK
y zh_Hant_HK
para el chino simplificado y tradicional, respectivamente, ambos como se habla en Hong Kong.
En realidad, la realidad es que algo más específico que el código de país se requiere a menudo en muchos países, pero que es probable que aumente exponencialmente la complejidad y el mantenimiento de bases de datos como CLDR, además de la infraestructura de apoyo para alimentar en ella, como IP a la extracción de detalles de ubicación, generalmente no está disponible o es lo suficientemente preciso.
Texto fijo
Ahora, si el código es sólo para especificar qué conjunto de cuerdas fijas para usar en la interfaz de usuario, o incluso páginas enteras establece en un sitio, un sufijo país no es realmente necesario, a menos que existan más de unos pocos lugares en los que el idioma varía de forma significativa (información basada en la ubicación) para molestarse en crear un conjunto de recursos por separado. Cuanto mayor sea el conjunto de recursos, más probable será 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 verdadera, ¡así puede llamarlo como quiera!] pero al menos solo tienes que hacer eso cuando sea necesario.
valores On-the-fly
Sin embargo, si quisiera dar formato a los valores de variables particulares, como fechas, horas, monedas y números, sobre la marcha, locales vuelven importantes, porque todas las herramientas que admite dicha funcionalidad (como las basadas en datos CLDR Unicode). La configuración regional para estos debe ser configuración independiente para el código para el que el idioma de la interfaz de usuario generado internamente se debe usar, a menos que desee crear un conjunto de recursos para configuración local conocida, y mantenerlos ad nauseum!
herramientas de idioma del navegador
Tenga en cuenta que al especificar la configuración regional para una página web que puede ser editado, como en los cuadros de entrada, y la corrección ortográfica en atributos o CSS se ha habilitado para el campo, herramientas de idioma del navegador se corrector ortográfico del campo según esa configuración regional.
Criterios
Tienes que ser claro acerca de lo que el conjunto de recursos está proporcionando, por lo que considerar:
- cuerdas fijas? Solo lenguaje
- ¿Formateo sobre la marcha? Lugar.
- ¿Verificación ortográfica en el entorno de visualización? Lugar.
- ¿Páginas enteras/subsitio? Solo lenguaje, si no localidad (como una variante de idioma) si se requiere contenido significativamente diferente.
hoja de cálculo para minimizar la sobrecarga de mantenimiento
utilizo una hoja de cálculo para mantener cadenas de la IU, donde cada código de lenguaje tiene un código de matriz, de modo que la célula 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 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.
Usted dice que el español y el francés son fáciles, pero la base de datos CLDR enumera 26 y 47 variantes específicas de cada país, respectivamente. Solo depende de cuánto los recursos que proporciona dependen de las diferencias. – Patanjali