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

NOMBRE

       setlocale - establece la localizacion en curso

SINOPSIS

       #include <locale.h>

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

DESCRIPCI'ON

       La   funcion   setlocale()   se  emplea  para  establecer  o  saber  la
       localizacion en curso del programa.

       Si localizacion no es NULL, la  localizacion  actual  del  programa  se
       modifica  segun  los  argumentos.  El argumento categoria determina que
       partes de la localizacion actual del programa se deben modificar.

       LC_ALL para todas las partes de la localizacion.

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

       LC_CTYPE
              para la concordancia en expresiones regulares, la  clasificacion
              de   caracteres,   la  conversion,  la  comparacion  sensible  a
              mayusculas/minusculas 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 numeros (tal como el  caracter  separador  de
              decimales o el separador de miles).

       LC_TIME
              para los formatos de tiempo y fecha.

       El  argumento localizaci'on es un puntero a una cadena de caracteres que
       contiene la configuracion necesaria de categor'ia.  Tal cadena  es  bien
       una  constante  bien  conocida como "C" o "es_ES" (ver mas abajo) o una
       cadena opaca devuelta por otra llamada a setlocale.

       Si localizaci'on es "", cada parte  de  la  colalizacion  que  debe  ser
       modificada  se  configura  segun las variables de entorno. Los detalles
       son  dependientes  de  la  implementacion.   Para  glibc,  primero   se
       inspecciona  la  variable  de  entorno  LC_ALL  (sin tener en cuenta la
       categor'ia), a continuacion la variable de entorno con el  mismo  nombre
       que  la  categoria  (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
       especificacion de localizacion valida, no se cambia la  localizacion  y
       setlocale devuelve NULL.

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

       Tipicamente,   un   nombre   de   localizacion   es   de    la    forma
       lenguaje[_territorio][.conjuntocaract][@modificador], donde lenguaje es
       un codigo de lenguaje ISO 639, territorio es  un  codigo  de  pais  ISO
       3166,  y conjuntocaract es un conjunto de caracteres o un identificador
       de codificacion como ISO-8859-1 o UTF-8.  Para una lista de  todas  las
       localizaciones soportadas, pruebe "locale -a", cf. locale(1).

       Si localizaci'on es NULL, solo se consulta la localizacion actual, no se
       modifica.

       Al comienzo del  programa  principal,  se  selecciona  por  omision  la
       localizacion    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  informacion
       dependiente  de la localizacion, 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 exito a setlocale() devuelve una cadena  de  caracteres
       opaca  que corresponde a la localizacion establecida. Esta cadena puede
       ser alojada en almacenamiento estatico.  La cadena devuelta es tal  que
       una  llamada  subsiguiente  con  esta  cadena  y su categoria asociada,
       restaurara esa  parte  de  la  localizacion  del  proceso.  La  funcion
       devuelve NULL si la peticion 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 solia haber soporte  para  el  codigo
       europeo  ISO  Latin-1, localizacion "ISO-8859-1" (e.g. en libc-4.5.21 y
       libc-4.6.27),  y  la  localizacion   cirilica   (rusa)   "KOI-8"   (mas
       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 dia los europeos (y
       americanos) no angloparlantes tienen que trabajar un poquito mas (N.T.:
       ique  raro! :-) y debe instalarse los ficheros reales de localizaciones
       para su idioma.

V'EASE TAMBI'EN

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