Provided by: manpages-es_1.55-3_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 localizacin es un puntero a una cadena de caracteres que
       contiene la configuración necesaria de categora.  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 localizacin 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
       categora), 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 localizacin 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)