Provided by: manpages-es_1.55-8_all bug

NOMBRE

       locale - Descripción del soporte para múltiples idiomas

SINOPSIS

       #include <locale.h>

DESCRIPCIÓN

       Una  localización  (locale)  es  un  conjunto  de  reglas  culturales e
       idiomáticas que abarcan  aspectos  tales  como  el  idioma  usado  para
       mensajes,  diferentes  juegos  de caracteres, convenios lexicográficos,
       etc. Un  programa  debe  poder  determinar  su  localización  y  actuar
       apropiadamente para poder ser transportado a diferentes culturas.

       El fichero de cabecera <locale.h> declara los tipos de datos, funciones
       y macros utilizados en esta tarea.

       Las funciones que  se  declaran  son  setlocale()  para  establecer  la
       localización  actual, y localeconv() para obtener información acerca de
       formatos numéricos.

       Un programa puede necesitar varias categorías de información local, las
       cuales se determinan utilizando macros.  Usando una de estas categorías
       como primer argumento para la función setlocale() es posible  modificar
       uno de los siguientes atributos para que usen la localización adecuada:

       LC_COLLATE
              Usado para cambiar el comportamiento de las funciones  strcoll()
              y  strxfrm(),  que  comparan  cadenas  de  caracteres  usando el
              alfabeto local. Por ejemplo, el carácter Alemán  ß  (‘ese  aguda
              alemana’) se alfabetiza como "ss".

       LC_TYPE
              Modifica  el  comportamiento  de  las  funciones que manipulan y
              clasifican caracteres, tales como isupper() y toupper(),  y  las
              funciones de caracteres multi-byte como mblen() o wctomb().

       LC_MONETARY
              Modifica  la  información devuelta por localeconv() que describe
              el formato en que los números  deben  ser  impresos,  incluyendo
              detalles  tales  como  el  uso del punto o la coma decimal. Esta
              información es usada internamente por la función strfmon().

       LC_MESSAGES
              Cambia el idioma en el que se muestran los mensajes, y cómo debe
              ser  una  respuesta afirmativa o negativa. La biblioteca de C de
              GNU contiene las funciones gettext(),  ngettext(),  y  rpmatch()
              para  facilitar  el  uso  de esta información. La familia GNU de
              funciones gettext también obedecen  a  la  variable  de  entorno
              LANGUAGE.

       LC_NUMERIC
              cambia  la  información  empleada  por las familias de funciones
              printf() y scanf() cuando se les informa  de  que  utilicen  las
              características   locales.    Esta   información  también  puede
              obtenerse con la función localeconv().

       LC_TIME
              Modifica el comportamiento de la función strftime() para mostrar
              la  hora  actual usando el formato local apropiado; por ejemplo,
              en casi toda Europa se utiliza el formato de 24  horas  mientras
              que en Estados Unidos se emplea el de 12 horas.

       LC_ALL Todas las categorías anteriores.

       Si  el segundo argumento de la función setlocale() es una cadena vacía,
       "",  se  usa  la  localización  predeterminada.  Esta  localización  se
       determina de la siguiente forma:

       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  categorías,  y  su  valor es no nulo, se usa ese valor para
              dicha categoría.

       3.     Si la variable de entorno LANG, existe y su valor no  es  vacío,
              se usa dicho valor.

       Se  puede obtener información sobre el formato numérico local usando la
       estructura struct lconv devuelta por la  función  localeconv().   Dicha
       estructura tiene la siguiente declaración:

       struct lconv
       {
         /* Información numérica no monetaria. */

         char *decimal_point;        /* Caracter usado como punto decimal. */
         char *thousands_sep;        /* Separador de miles. */
         /* Cada elemento indica el número de dígitos en cada grupo;
            los elementos con índices altos están hacia la izquierda.
            Un elemento con valor CHAR_MAX indica que a partir de esa
            posición no se deben agrupar mas dígitos.
            Un elemento con valor 0 indica que se debe usar el elemento
            anterior para todos los grupos hacia la izquierda. */
         char *grouping;

         /* Información monetaria. */

         /* Los primeros tres caracteres son el símbolo monetario según
            ISO 4217. El cuarto caracter es el separador. El quinto
            caracter es ’ ’. */
         char *int_curr_symbol;
         char *currency_symbol;      /* Símbolo monetario local. */
         char *mon_decimal_point;    /* Caracter usado como punto decimal. */
         char *mon_thousands_sep;    /* Separador de miles. */
         char *mon_grouping;         /* Igual que el campo ‘grouping’(arriba) */
         char *positive_sign;        /* Signo para valores positivos. */
         char *negative_sign;        /* Signo para valores negativos. */
         char int_frac_digits;       /* Dígitos fraccionales internacionales. */
         char frac_digits;           /* Dígitos fraccionales locales. */
         char p_cs_precedes;         /* 1 si el símbolo monetario precede a un
                                          valor positivo, 0 si lo sucede. */

         char p_sep_by_space;        /* 1 si un espacio separa el símbolo
                                          monetario de un valor positivo. */

         char n_cs_precedes;         /* 1 si el símbolo monetario precede a
                                          un valor negativo, 0 si lo sucede. */

         char n_sep_by_space;        /* 1 si un espacio separa el símbolo
                                          monetario de un valor negativo. */

         /* Posiciones de los signos positivo y negativo:
            0 Paréntesis rodean a la cantidad y al símbolo monetario.
            1 El signo precede a la cantidad y al símbolo monetario.
            2 El signo sucede a la cantidad y al símbolo monetario.
            3 El signo precede en forma inmediata al símbolo monetario.
            4 El signo sucede en forma inmediata al símbolo monetario. */
         char p_sign_posn;
         char n_sign_posn;
       };

CONFORME A

       POSIX.1
       Las funciones gettext de GNU están especificadas en LI18NUX2000.

VÉASE TAMBIÉN

       setlocale(3),  localeconv(3),  locale(1), localedef(1), nl_langinfo(3),
       gettext(3),   ngettext(3),    rpmatch(3),    strfmon(3),    strcoll(3),
       strxfrm(3), strftime(3)