locale(7) Miscellaneous Information Manual locale(7) NOMBRE locale - descripcion del soporte para multiples idiomas SINOPSIS #include DESCRIPCION Una localizacion regional (locale) es un conjunto de reglas culturales e idiomaticas que abarcan aspectos tales como el idioma usado para mensajes, diferentes conjuntos de caracteres, convenciones lexicas, etc. Un programa debe poder determinar su localizacion y actuar en consecuencia para poder portarse a diferentes culturas. El encabezado declara tipos de datos, funciones y macros utiles para esta tarea. Las funciones que se declaran son setlocale(3) para establecer la localizacion actual, y localeconv(3) para obtener informacion acerca de formatos numericos. Un programa puede necesitar varias categorias de informacion local, las cuales se determinan utilizando macros. Usando una de estas categorias como primer argumento para la funcion setlocale(3) es posible modificar uno de los siguientes atributos para que usen la localizacion adecuada: LC_ADDRESS (extension de GNU, a partir de glibc 2.2) Modifica la configuracion que describe los formatos (como por ejemplo las direcciones postales) utilizados para describir ubicaciones y elementos relacionados con la geografia. Las aplicaciones que necesitan esta informacion pueden usar nl_langinfo(3) para obtener elementos no estandar, como _NL_ADDRESS_COUNTRY_NAME (nombre del pais, en su configuracion regional) y _NL_ADDRESS_LANG_NAME (nombre del idioma, en el idioma de su configuracion regional), que devolverian cadenas como 'Deutschland' y 'Deutsch' para configuraciones regionales en aleman. En figuran otros nombres de elementos. LC_COLLATE Esta categoria rige las reglas de clasificacion utilizadas para la ordenacion y las expresiones regulares, incluidas las clases de equivalencia de caracteres y los elementos de clasificacion de varios caracteres. Esta categoria de configuracion regional cambia el comportamiento de las funciones strcoll(3) y strxfrm(3), que se utilizan para comparar cadenas en el alfabeto local. Por ejemplo, la s sostenida alemana se clasifica como 'ss'. LC_CTYPE Esta categoria determina la interpretacion de secuencias de bytes como caracteres (por ejemplo, caracteres de un solo byte o multibyte), clasificaciones de caracteres (por ejemplo, alfabeticos o digitos) y el comportamiento de las distintas clases de caracteres. En los sistemas glibc, esta categoria tambien determina las reglas de transliteracion de caracteres para iconv(1) y iconv(3). Cambia el comportamiento de las funciones de clasificacion y manejo de caracteres, como isupper(3) y toupper(3), y las funciones de caracteres multibyte como mblen(3) o wctomb( 3). LC_IDENTIFICATION (extension GNU, desde glibc 2.2) Modifica la parte de la configuracion relacionada con los metadatos de la configuracion regional. Las aplicaciones que necesitan esta informacion pueden usar nl_langinfo(3) para recuperar elementos no estandar, como _NL_IDENTIFICATION_TITLE (titulo de este documento de configuracion local) y _NL_IDENTIFICATION_TERRITORY (territorio geografico al que se aplica este documento local), esto retornara cadenas como 'Configuracion regional en ingles para EE. UU.' y 'EE. UU.'. En se encuentran otros nombres de elementos. LC_MONETARY Esta categoria determina el formato utilizado para los valores numericos relacionados con temas monetarios. Esto cambia la informacion devuelta por localeconv(3), que describe la forma en que normalmente se muestran los numeros, con detalles como punto decimal o bien con coma decimal. Esta informacion es utilizada internamente por la funcion strfmon(3). LC_MESSAGES Esta categoria afecta el idioma en el que se muestran los mensajes y el aspecto de una respuesta afirmativa o negativa. La biblioteca GNU C contiene las funciones gettext(3), ngettext(3) y rpmatch(3) para facilitar el uso de esta informacion. La familia de funciones GNU gettext tambien observa la variable de entorno LANGUAGE (que contiene una lista de configuraciones regionales separadas por dos puntos) si la categoria esta configurada en una configuracion regional valida distinta de "C". Esta categoria tambien afecta al comportamiento de catopen(3). LC_MEASUREMENT (extension de GNU, a partir de glibc 2.2) Modifica las configuraciones relacionadas con el sistema de medidas local (es decir, unidades metricas frente unidades habituales de EE. UU.). Las aplicaciones pueden usar nl_langinfo(3) para obtener el elemento _NL_MEASUREMENT_MEASUREMENT no estandar, que devuelve un puntero a un caracter que tiene el valor 1 (metrico) o 2 (unidades habituales de EE. UU.). LC_NAME (extension de GNU, desde glibc 2.2) Modifica la configuracion que describe los formatos utilizados para dirigirse a las personas. Las aplicaciones que necesitan esta informacion pueden usar nl_langinfo(3) para recuperar elementos no estandar, como los elementos _NL_NAME_NAME_MR (saludo general para hombres) y _NL_NAME_NAME_MS (saludo general para mujeres), que devuelverian cadenas como ' Herr' y 'Frau' en la configuracion regional alemana. Otros nombres de elementos se enumeran en . LC_NUMERIC Esta categoria determina las reglas de formato utilizadas para valores numericos no monetarios--por ejemplo, el separador de miles y el caracter para separar los miles (un punto en la mayoria de los paises de habla inglesa, pero una coma en muchas otras regiones). Afecta a funciones como printf(3), scanf(3) y strtod(3). Esta informacion tambien se puede leer con la funcion localeconv(3). LC_PAPER (extension de GNU, desde glibc 2.2) Modifica las configuraciones relacionadas con las dimensiones del tamano de papel estandar (por ejemplo, carta estadounidense versus A4). Las aplicaciones que necesitan las dimensiones pueden obtenerlas usando nl_langinfo(3) para recuperar los elementos no estandar _NL_PAPER_WIDTH y _NL_PAPER_HEIGHT, que devuelven valores int que especifican las dimensiones en milimetros. LC_TELEPHONE (extension de GNU, desde glibc 2.2) Modifica la configuracion que describe los formatos que se utilizaran con los servicios telefonicos. Las aplicaciones que necesitan esta informacion pueden usar nl_langinfo(3) para recuperar elementos no estandar, como _NL_TELEPHONE_INT_PREFIX (prefijo internacional utilizado para llamar a numeros en esta configuracion regional), que devuelveria una cadena como '49' para Alemania. (Otros nombres de elementos se enumeran en .) LC_TIME Esta categoria rige el formato utilizado para los valores de fecha y hora. Por ejemplo, la mayor parte de Europa utiliza un formato de 24 horas, frente al de 12 horas que se utiliza en Estados Unidos. La configuracion de esta categoria afecta al comportamiento de funciones como strftime(3) y strptime(3). LC_ALL Todas las categorias anteriores. Si el segundo argumento de setlocale(3) es una cadena vacia, "", para la configuracion regional predeterminada, se determina mediante estos pasos: (1) Si la variable de entorno LC_ALL existe y tiene un valor no nulo, se usa este valor. (2) Si existe una variable de entorno con el mismo nombre que una de las categorias, y su valor es no nulo, se usa ese valor para dicha categoria. (3) Si la variable de entorno LANG, existe y su valor no es vacio, se usa dicho valor. Se puede obtener informacion sobre el formato numerico local usando la estructura struct lconv devuelta por la funcion localeconv(3). Dicha estructura tiene la siguiente declaracion: struct lconv { /* Numeric (nonmonetary) information */ char *decimal_point; /* Radix character */ char *thousands_sep; /* Separator for digit groups to left of radix character */ char *grouping; /* Each element is the number of digits in a group; elements with higher indices are further left. An element with value CHAR_MAX means that no further grouping is done. An element with value 0 means that the previous element is used for all groups further left. */ /* Remaining fields are for monetary information */ char *int_curr_symbol; /* First three chars are a currency symbol from ISO 4217. Fourth char is the separator. Fifth char is '\0'. */ char *currency_symbol; /* Local currency symbol */ char *mon_decimal_point; /* Radix character */ char *mon_thousands_sep; /* Like thousands_sep above */ char *mon_grouping; /* Like grouping above */ char *positive_sign; /* Sign for positive values */ char *negative_sign; /* Sign for negative values */ char int_frac_digits; /* International fractional digits */ char frac_digits; /* Local fractional digits */ char p_cs_precedes; /* 1 if currency_symbol precedes a positive value, 0 if succeeds */ char p_sep_by_space; /* 1 if a space separates currency_symbol from a positive value */ char n_cs_precedes; /* 1 if currency_symbol precedes a negative value, 0 if succeeds */ char n_sep_by_space; /* 1 if a space separates currency_symbol from a negative value */ /* Positive and negative sign positions: 0 Parentheses surround the quantity and currency_symbol. 1 The sign string precedes the quantity and currency_symbol. 2 The sign string succeeds the quantity and currency_symbol. 3 The sign string immediately precedes the currency_symbol. 4 The sign string immediately succeeds the currency_symbol. */ char p_sign_posn; char n_sign_posn; }; Extensiones POSIX.1-2008 para la API local POSIX.1-2008 estandarizo una serie de extensiones para la API local, basadas en implementaciones que aparecieron por primera vez en glibc 2.3. Estas extensiones fueron disenadas para abordar el problema de interrelacion de las API de configuracion regional tradicionales con aplicaciones multiproceso y con aplicaciones que deben manejar multiples configuraciones regionales. Las extensiones toman la forma de nuevas funciones para crear y manipular objetos locales (newlocale(3), freelocale(3), duplocale(3) y uselocale(3)) y varias nuevas funciones de biblioteca con el sufijo '_l' (por ejemplo, toupper_l(3)) que amplian las API tradicionales dependientes de la configuracion regional (por ejemplo, toupper(3)) para permitir la especificacion de un objeto de configuracion regional que debe aplicarse al ejecutar la funcion. ENTORNO newlocale(3) y setlocale(3) utilizan la siguiente variable de entorno y, por lo tanto, afecta a todos los programas localizados sin privilegios: LOCPATH Lista de rutas, separados por dos puntos (':'), que deben usarse para buscar datos locales. Si se establece esta variable, solo se utilizan los archivos de datos locales individuales de LOCPATH y la ruta de datos local predeterminada del sistema; no se utilizan los archivos locales disponibles (consulte localedef(1)). Los archivos de datos locales compilados individuales se buscan en subdirectorios que dependen de la configuracion regional utilizada actualmente. Por ejemplo, cuando se utiliza en_GB.UTF-8 para una categoria, se buscaran los siguientes subdirectorios, en este orden: en_GB.UTF-8, en_GB.utf8, en_GB, en.UTF-8, en.utf8 y en. ARCHIVOS /usr/lib/locale/locale-archive Ubicacion habitual por defecto del archivo de la configuracion regional. /usr/lib/locale Ruta predeterminada habitual para archivos locales individuales compilados. ESTANDARES POSIX.1-2001. VEASE TAMBIEN iconv(1), locale(1), localedef(1), catopen(3), gettext(3), iconv(3), localeconv(3), mbstowcs(3), newlocale(3), ngettext(3), nl_langinfo(3), rpmatch(3), setlocale(3), strcoll(3), strfmon(3), strftime(3), strxfrm(3), uselocale(3), wcstombs(3), locale(5), charsets(7), unicode(7), utf-8(7) TRADUCCION La traduccion al espanol de esta pagina del manual fue creada por Diego Novillo , Gerardo Aburruzaga Garcia , Miguel Perez Ibars y Marcos Fouces Esta traduccion es documentacion libre; lea la GNU General Public License Version 3 o posterior con respecto a las condiciones de copyright. No existe NINGUNA RESPONSABILIDAD. Si encuentra algun error en la traduccion de esta pagina del manual, envie un correo electronico a . Paginas de Manual de Linux 6.9.1 15 Junio 2024 locale(7)