Provided by: manpages-es_4.27.0-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  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.

Páginas de Manual de Linux 6.9.1                  15 Junio 2024                                        locale(7)