En informática , una configuración regional es un conjunto de parámetros que definen el idioma del usuario, la región y cualquier variante especial de preferencia que el usuario quiera ver en su interfaz de usuario . Normalmente, un identificador local consta de al menos un código de idioma y un código de país/región. La configuración regional es un aspecto importante de i18n .
Estas configuraciones generalmente incluyen las siguientes configuraciones de formato de visualización (salida):
La configuración regional trata sobre formatear la salida dada una configuración regional. Por lo tanto, la información de zona horaria y el horario de verano no suelen formar parte de la configuración local. Menos habitual es la configuración del formato de entrada, que se define principalmente según la aplicación.
En estos ambientes,
y otros (hoy en día) entornos basados en Unicode , se definen en un formato similar a BCP 47 . Por lo general, se definen solo con códigos ISO 639 (idioma) e ISO 3166-1 alfa-2 (país de 2 letras).
En C y C++ estándar, la configuración regional se define en "categorías" de LC_COLLATE (clasificación de texto), LC_CTYPE (clase de carácter), LC_MONETARY (formato de moneda), LC_NUMERIC (formato de número) y LC_TIME (formato de hora). La categoría especial LC_ALL se puede utilizar para establecer todas las configuraciones regionales. [1]
No hay nombres de configuración regional estándar asociados con los estándares C y C++ además de un nombre de "configuración regional mínima" "C", aunque el formato POSIX es una base de referencia de uso común.
En plataformas POSIX como Unix , Linux y otras, los identificadores de configuración regional se definen de manera similar a la definición de etiquetas de idioma de BCP 47 , pero el modificador de variante de configuración regional se define de manera diferente y el juego de caracteres se incluye opcionalmente como parte del identificador. . El formato POSIX o "XPG" es [idioma[_territorio][.codeset][@modifier]] . (Por ejemplo, el inglés australiano que usa la codificación UTF-8 es en_AU.UTF-8 ). [2] Por separado, ISO/IEC 15897 describe una forma diferente, language_territory+audience+application,sponsor_version , aunque es muy dudoso si se usa. en absoluto. [3]
En el siguiente ejemplo hay una salida del comando locale
para el idioma checo (cs), República Checa (CZ) con codificación UTF-8 explícita:
$ localLANG=cs_CZ.UTF-8LC_CTYPE="cs_CZ.UTF-8"LC_NUMERIC="cs_CZ.UTF-8"LC_TIME="cs_CZ.UTF-8"LC_COLLATE="cs_CZ.UTF-8"LC_MONETARY="cs_CZ.UTF-8"LC_MESSAGES="cs_CZ.UTF-8"LC_PAPER="cs_CZ.UTF-8"LC_NAME="cs_CZ.UTF-8"LC_ADDRESS="cs_CZ.UTF-8"LC_TELEPHONE="cs_CZ.UTF-8"LC_MEASUREMENT="cs_CZ.UTF-8"LC_IDENTIFICATION="cs_CZ.UTF-8"LC_ALL=
Windows utiliza cadenas de idioma y territorio específicas. El identificador local (LCID) para el código no administrado en Microsoft Windows es un número como 1033 para inglés (Estados Unidos), 2057 para inglés (Reino Unido) o 1041 para japonés (Japón). Estos números constan de un código de idioma (10 bits inferiores) y un código cultural (bits superiores) y, por lo tanto, a menudo se escriben en notación hexadecimal , como 0x0409, 0x0809 o 0x0411.Microsoft está comenzando a introducir interfaces de programación de aplicaciones (API) de código administrado para .NET que utilizan este formato. Una de las primeras que se lanzó de forma generalizada es una función para mitigar los problemas con los nombres de dominio internacionalizados , [4] pero hay más en Windows Vista Beta 1.
A partir de Windows Vista, se han introducido nuevas funciones [5] que utilizan nombres de configuración regional BCP 47 para reemplazar casi todas las API basadas en LCID.
Un formato de nombre de configuración regional similar a POSIX de idioma[_país-región[.code-page]] está disponible en UCRT (Universal C Run Time) de Windows 10 y 11. [6]
Para especificaciones culturales narrativas y configuraciones regionales POSIX, el identificador del token será: 8_9+11+12,13_14
java.util.Locale
Documentación de la API Javadoc