oracular (7) locale.7.gz

Provided by: manpages-es_4.23.1-1_all bug

NOMBRE

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

SINOPSIS

       #include <locale.h>

DESCRIPCIÓN

       Una localización regional (locale) es un conjunto de reglas culturales e idiomáticas que abarcan aspectos
       tales como el idioma usado para mensajes, diferentes conjuntos de caracteres, convenciones lexicas,  etc.
       Un  programa  debe  poder  determinar  su  localización  y  actuar  en consecuencia para poder portarse a
       diferentes culturas.

       El encabezado <locale.h> declara tipos de datos, funciones y macros útiles para esta tarea.

       Las funciones que se declaran son setlocale(3) para establecer la localización  actual,  y  localeconv(3)
       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(3)  es  posible
       modificar uno de los siguientes atributos para que usen la localización adecuada:

       LC_ADDRESS (extensión de GNU, a partir de glibc 2.2)
              Modifica  la  configuración  que describe los formatos (como por ejemplo las direcciones postales)
              utilizados para describir ubicaciones y elementos relacionados con la geografía. Las  aplicaciones
              que necesitan esta información pueden usar nl_langinfo(3) para obtener elementos no estándar, como
              _NL_ADDRESS_COUNTRY_NAME (nombre del país, en su configuración regional)  y  _NL_ADDRESS_LANG_NAME
              (nombre  del  idioma,  en  el  idioma  de su configuración regional), que devolverían cadenas como
              'Deutschland' y 'Deutsch' para configuraciones regionales en alemán. En <langinfo.h> figuran otros
              nombres de elementos.

       LC_COLLATE
              Esta  categoría  rige  las reglas de clasificación utilizadas para la ordenación y las expresiones
              regulares, incluidas las clases de equivalencia de caracteres y los elementos de clasificación  de
              varios  caracteres.  Esta  categoría  de  configuración  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  categoría  determina  la interpretación de secuencias de bytes como caracteres (por ejemplo,
              caracteres de un solo byte o multibyte), clasificaciones de caracteres (por ejemplo, alfabéticos o
              dígitos)  y  el  comportamiento de las distintas clases de caracteres. En los sistemas glibc, esta
              categoría también determina las reglas de transliteración de caracteres para iconv(1) y  iconv(3).
              Cambia el comportamiento de las funciones de clasificación y manejo de caracteres, como isupper(3)
              y toupper(3), y las funciones de caracteres multibyte como mblen(3) o wctomb( 3).

       LC_IDENTIFICATION (extensión GNU, desde glibc 2.2)
              Modifica la parte de la configuración relacionada con los metadatos de la configuración  regional.
              Las  aplicaciones  que  necesitan  esta  información  pueden  usar  nl_langinfo(3)  para recuperar
              elementos no estándar, como _NL_IDENTIFICATION_TITLE (título de este  documento  de  configuración
              local)  y  _NL_IDENTIFICATION_TERRITORY  (territorio  geográfico  al  que se aplica este documento
              local), esto retornará cadenas como 'Configuración regional en inglés para EE. UU.' y  'EE.  UU.'.
              En <langinfo.h> se encuentran otros nombres de elementos.

       LC_MONETARY
              Esta  categoría  determina  el formato utilizado para los valores numéricos relacionados con temas
              monetarios. Esto cambia la información devuelta por localeconv(3), que describe la  forma  en  que
              normalmente se muestran los números, con detalles como punto decimal o bien con coma decimal. Esta
              información es utilizada internamente por la función strfmon(3).

       LC_MESSAGES
              Esta categoría 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 información. La familia de funciones GNU gettext  también
              observa  la  variable  de  entorno  LANGUAGE (que contiene una lista de configuraciones regionales
              separadas por dos puntos) si la categoría está configurada en una  configuración  regional  válida
              distinta de "C". Esta categoría también afecta al comportamiento de catopen(3).

       LC_MEASUREMENT (extensión de GNU, a partir de glibc 2.2)
              Modifica  las  configuraciones  relacionadas  con  el sistema de medidas local (es decir, unidades
              métricas frente unidades habituales de EE. UU.). Las aplicaciones pueden usar nl_langinfo(3)  para
              obtener el elemento _NL_MEASUREMENT_MEASUREMENT no estándar, que devuelve un puntero a un carácter
              que tiene el valor 1 (métrico) o 2 (unidades habituales de EE. UU.).

       LC_NAME (extensión de GNU, desde glibc 2.2)
              Modifica la configuración que describe los formatos utilizados para dirigirse a las personas.  Las
              aplicaciones que necesitan esta información pueden usar nl_langinfo(3) para recuperar elementos no
              estándar, como los elementos _NL_NAME_NAME_MR (saludo general  para  hombres)  y  _NL_NAME_NAME_MS
              (saludo  general para mujeres), que devuelverían cadenas como ' Herr' y 'Frau' en la configuración
              regional alemana. Otros nombres de elementos se enumeran en <langinfo.h>.

       LC_NUMERIC
              Esta categoría determina las reglas de formato utilizadas para valores numéricos no monetarios—por
              ejemplo, el separador de miles y el carácter para separar los miles (un punto en la mayoría de los
              países de habla inglesa, pero una  coma  en  muchas  otras  regiones).  Afecta  a  funciones  como
              printf(3),  scanf(3)  y  strtod(3).  Esta  información  también  se  puede  leer  con  la  función
              localeconv(3).

       LC_PAPER (extensión de GNU, desde glibc 2.2)
              Modifica las configuraciones relacionadas con las dimensiones del tamaño de  papel  estándar  (por
              ejemplo,  carta  estadounidense  versus A4). Las aplicaciones que necesitan las dimensiones pueden
              obtenerlas usando nl_langinfo(3) para  recuperar  los  elementos  no  estándar  _NL_PAPER_WIDTH  y
              _NL_PAPER_HEIGHT, que devuelven valores int que especifican las dimensiones en milímetros.

       LC_TELEPHONE (extensión de GNU, desde glibc 2.2)
              Modifica  la  configuración  que  describe  los  formatos  que  se  utilizarán  con  los servicios
              telefónicos. Las aplicaciones que necesitan  esta  información  pueden  usar  nl_langinfo(3)  para
              recuperar  elementos  no  estándar, como _NL_TELEPHONE_INT_PREFIX (prefijo internacional utilizado
              para llamar a números en esta configuración regional), que devuelvería una cadena como  '49'  para
              Alemania. (Otros nombres de elementos se enumeran en <langinfo.h>.)

       LC_TIME
              Esta  categoría  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 configuración de esta categoría afecta al comportamiento de funciones como strftime(3)
              y strptime(3).

       LC_ALL Todas las categorías anteriores.

       Si el segundo argumento de  setlocale(3)  es  una  cadena  vacía,  "",  para  la  configuración  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 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(3). Dicha estructura tiene la siguiente declaración:

           struct lconv {

               /* Información numérica (no monetaria) */

               char *decimal_point;              /* Separador de decimales */
               char *thousands_sep;              /*   Separador de miles   */
               char *grouping;    /* Cada elemento corresponde a la cantidad
                                      de dígitos en un grupo. Se ordenan los
                                      dígitos de izquierda a derecha
                                      Un elemento con valor CHAR_MAX indica
                                      que no se hará ninún reagrupamiento
                                      adicional.
                                      Un elemento con valor 0 indica que el
                                      elemento anterior se usa para todos
                                      los grupos más a su izquierda */

               /* El resto de campos son para información monetaria */

               char *int_curr_symbol;   /* Los primeros tres caracteres son
                                           un símbolo moentario de ISO 4217.
                                           el cuarto es un separador. El
                                           quinto es '\0'. */
               char *currency_symbol;   /* Símbolo de la moneda local */
               char *mon_decimal_point; /* Radix character */
               char *mon_thousands_sep; /* Igual que thousands_sep antes*/
               char *mon_grouping;      /* Igual que grouping antes */
               char *positive_sign;     /* Signo para valores positivos */
               char *negative_sign;     /* Signo para valores negativos */
               char  int_frac_digits; /* Dígitos fraccionales internac. */
               char  frac_digits;       /* Dígitos fraccionales locales */
               char  p_cs_precedes;     /* 1 si el símbolo de moneda
                                           precede un valor positivo,
                                           0 si va después */
               char  p_sep_by_space;    /* 1 si un espacio separa el símbolo
                                           de moneda de un valor positivo */
               char  n_cs_precedes;     /* 1 si el símbolo de moneda precede
                                       un valor negativo, 0 si va después. */
               char  n_sep_by_space;   /* 1 si un espacio separa el símbolo
                                          de moneda de un valor negativo.*/

               /* Posiciones del los signos positivo y negativo:
              0 La cantidad y el símbolo de moneda van entre parentesis.
              1 El signo precede a la cantidad y al símbolo de la moneda.
              2 El signo va después de la cantidad y del símbolo de moneda.
              3 El signo preced inmediatamente al símbolo de la moneda.
              4 El signo va inmediatamente después del signo de la moneda. */
               char  p_sign_posn;
               char  n_sign_posn;
           };

   Extensiones POSIX.1-2008 para la API local
       POSIX.1-2008  estandarizó  una  serie  de  extensiones para la API local, basadas en implementaciones que
       aparecieron por primera vez en glibc 2.3. Estas extensiones fueron diseñadas para abordar el problema  de
       interrelación  de  las  API  de  configuración regional tradicionales con aplicaciones multiproceso y con
       aplicaciones que deben manejar múltiples 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 amplían las API tradicionales dependientes de la  configuración  regional
       (por ejemplo, toupper(3)) para permitir la especificación de un objeto de configuración regional que debe
       aplicarse al ejecutar la función.

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  configuración  regional utilizada actualmente. Por ejemplo,
              cuando se utiliza en_GB.UTF-8 para una categoría, se buscarán 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
              Ubicación habitual por defecto del archivo de la configuración regional.

       /usr/lib/locale
              Ruta predeterminada habitual para archivos locales individuales compilados.

ESTÁNDARES

       POSIX.1-2001.

VÉASE TAMBIÉN

       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)

TRADUCCIÓN

       La  traducción  al español de esta página del manual fue creada por Diego Novillo <diego@cs.ualberta.ca>,
       Gerardo Aburruzaga García <gerardo.aburruzaga@uca.es>, Miguel Pérez Ibars <mpi79470@alu.um.es>  y  Marcos
       Fouces <marcos@debian.org>

       Esta   traducción   es   documentación   libre;   lea   la   GNU   General   Public   License  Version  3
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ o posterior con respecto a las condiciones de copyright.   No
       existe NINGUNA RESPONSABILIDAD.

       Si  encuentra  algún  error  en  la  traducción  de esta página del manual, envíe un correo electrónico a
       ⟨debian-l10n-spanish@lists.debian.org⟩.