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

NOMBRE

       setlocale - establece la localización en curso

SINOPSIS

       #include <locale.h>

       char *setlocale(int categoria, const char * localizacion);

DESCRIPCIÓN

       La función setlocale() se emplea para establecer o saber la localización en curso del programa.

       Si  localizacion  no  es  NULL, la localización actual del programa se modifica según los argumentos.  El
       argumento categoria determina qué partes de la localización actual del programa se deben modificar.

       LC_ALL para todas las partes de la localización.

       LC_COLLATE
              para la concordancia en expresiones regulares (determina el  significado  de  las  expresiones  de
              rango y de las clases de equivalencia) y la ordenación de cadenas.

       LC_CTYPE
              para  la  concordancia en expresiones regulares, la clasificación de caracteres, la conversión, la
              comparación sensible a mayúsculas/minúsculas y la funciones de caracteres anchos.

       LC_MESSAGES
              para los mensajes del lenguaje natural que son localizables.

       LC_MONETARY
              para el formato monetario.

       LC_NUMERIC
              para el formato de números (tal como el carácter separador de decimales o el separador de miles).

       LC_TIME
              para los formatos de tiempo y fecha.

       El argumento localización es un puntero  a  una  cadena  de  caracteres  que  contiene  la  configuración
       necesaria  de  categoría.   Tal  cadena  es  bien una constante bien conocida como "C" o "es_ES" (ver más
       abajo) o una cadena opaca devuelta por otra llamada a setlocale.

       Si localización es "", cada parte de la colalización que debe  ser  modificada  se  configura  según  las
       variables  de  entorno.  Los  detalles  son  dependientes  de  la implementación.  Para glibc, primero se
       inspecciona la variable de entorno LC_ALL (sin tener en cuenta la categoría), a continuación la  variable
       de  entorno  con  el  mismo  nombre  que  la  categoría  (LC_COLLATE, LC_CTYPE, LC_MESSAGES, LC_MONETARY,
       LC_NUMERIC, LC_TIME) y, finalmente, la variable de entorno LANG.  Se usa la primera variable  de  entorno
       que  exista.  Si su valor no es una especificación de localización válida, no se cambia la localización y
       setlocale devuelve NULL.

       La localización "C" o "POSIX" es una localización portable. Su parte LC_CTYPE corresponde al conjunto  de
       caracteres ASCII de 7 bits.

       Típicamente,        un        nombre        de        localización       es       de       la       forma
       lenguaje[_territorio][.conjuntocaract][@modificador], donde lenguaje es un código de  lenguaje  ISO  639,
       territorio  es  un  código  de  país  ISO  3166,  y  conjuntocaract  es  un  conjunto  de caracteres o un
       identificador de codificación como ISO-8859-1 o UTF-8.   Para  una  lista  de  todas  las  localizaciones
       soportadas, pruebe "locale -a", cf. locale(1).

       Si localización es NULL, sólo se consulta la localización actual, no se modifica.

       Al  comienzo  del  programa  principal,  se selecciona por omisión la localización transportable "C".  Un
       programa puede hacerse transportable para todas las localizaciones llamando a setlocale(LC_ALL, "" ) tras
       el inicio del programa,  empleando  los  valores  devueltos  por  una  llamada  a  localeconv()  para  la
       información  dependiente  de  la  localización, utilizando las funciones de caracteres anchos y multibyte
       para el procesamiento de texto si  MB_CUR_MAX  >  1,  y  utilizando  strcoll(),  wcscoll()  o  strxfrm(),
       wcsxfrm() para comparar cadenas de caracteres.

VALOR DEVUELTO

       Una  llamada  con  éxito  a  setlocale()  devuelve  una  cadena  de caracteres opaca que corresponde a la
       localización establecida. Esta cadena puede ser alojada en almacenamiento estático.  La  cadena  devuelta
       es  tal  que una llamada subsiguiente con esta cadena y su categoría asociada, restaurará esa parte de la
       localización del proceso. La función devuelve NULL si la petición no puede ser satisfecha.

CONFORME A

       C ANSI, POSIX.1

OBSERVACIONES

       Linux (esto es, GNU libc) admite las localizaciones transportables "C" y "POSIX".  En los viejos  tiempos
       solía  haber soporte para el código europeo ISO Latin-1, localización "ISO-8859-1" (e.g. en libc-4.5.21 y
       libc-4.6.27),  y  la  localización  cirílica  (rusa)  "KOI-8"  (más  precisamente,  "koi-8r")  (e.g.   en
       libc-4.6.27),  de forma que tener una variable de ambiente LC_CTYPE=ISO-8859-1 ya era suficiente para que
       isprint() devolviera la respuesta correcta.  Hoy día los europeos (y americanos) no angloparlantes tienen
       que trabajar un poquito más (N.T.: ¡qué raro! :-) y debe instalarse los ficheros reales de localizaciones
       para su idioma.

VÉASE TAMBIÉN

       locale(1), localedef(1), strcoll(3), isalpha(3), localeconv(3), strftime(3), charsets(4), locale(7)

GNU                                               4 julio 1999                                      SETLOCALE(3)