Provided by:
manpages-es_1.55-10_all 
NOMBRE
locale - Descripcion del soporte para multiples idiomas
SINOPSIS
#include <locale.h>
DESCRIPCI'ON
Una localizacion (locale) es un conjunto de reglas culturales e
idiomaticas que abarcan aspectos tales como el idioma usado para
mensajes, diferentes juegos de caracteres, convenios lexicograficos,
etc. Un programa debe poder determinar su localizacion y actuar
apropiadamente para poder ser transportado a diferentes culturas.
El fichero de cabecera <locale.h> declara los tipos de datos, funciones
y macros utilizados en esta tarea.
Las funciones que se declaran son setlocale() para establecer la
localizacion actual, y localeconv() para obtener informacion acerca de
formatos numericos.
Un programa puede necesitar varias categorias de informacion local, las
cuales se determinan utilizando macros. Usando una de estas categorias
como primer argumento para la funcion setlocale() es posible modificar
uno de los siguientes atributos para que usen la localizacion adecuada:
LC_COLLATE
Usado para cambiar el comportamiento de las funciones strcoll()
y strxfrm(), que comparan cadenas de caracteres usando el
alfabeto local. Por ejemplo, el caracter Aleman B (`ese aguda
alemana') se alfabetiza como "ss".
LC_TYPE
Modifica el comportamiento de las funciones que manipulan y
clasifican caracteres, tales como isupper() y toupper(), y las
funciones de caracteres multi-byte como mblen() o wctomb().
LC_MONETARY
Modifica la informacion devuelta por localeconv() que describe
el formato en que los numeros deben ser impresos, incluyendo
detalles tales como el uso del punto o la coma decimal. Esta
informacion es usada internamente por la funcion strfmon().
LC_MESSAGES
Cambia el idioma en el que se muestran los mensajes, y como debe
ser una respuesta afirmativa o negativa. La biblioteca de C de
GNU contiene las funciones gettext(), ngettext(), y rpmatch()
para facilitar el uso de esta informacion. La familia GNU de
funciones gettext tambien obedecen a la variable de entorno
LANGUAGE.
LC_NUMERIC
cambia la informacion empleada por las familias de funciones
printf() y scanf() cuando se les informa de que utilicen las
caracteristicas locales. Esta informacion tambien puede
obtenerse con la funcion localeconv().
LC_TIME
Modifica el comportamiento de la funcion strftime() para mostrar
la hora actual usando el formato local apropiado; por ejemplo,
en casi toda Europa se utiliza el formato de 24 horas mientras
que en Estados Unidos se emplea el de 12 horas.
LC_ALL Todas las categorias anteriores.
Si el segundo argumento de la funcion setlocale() es una cadena vacia,
"", se usa la localizacion predeterminada. Esta localizacion se
determina de la siguiente forma:
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 categorias, y su valor es no nulo, se usa ese valor para
dicha categoria.
3. Si la variable de entorno LANG, existe y su valor no es vacio,
se usa dicho valor.
Se puede obtener informacion sobre el formato numerico local usando la
estructura struct lconv devuelta por la funcion localeconv(). Dicha
estructura tiene la siguiente declaracion:
struct lconv
{
/* Informacion numerica no monetaria. */
char *decimal_point; /* Caracter usado como punto decimal. */
char *thousands_sep; /* Separador de miles. */
/* Cada elemento indica el numero de digitos en cada grupo;
los elementos con indices altos estan hacia la izquierda.
Un elemento con valor CHAR_MAX indica que a partir de esa
posicion no se deben agrupar mas digitos.
Un elemento con valor 0 indica que se debe usar el elemento
anterior para todos los grupos hacia la izquierda. */
char *grouping;
/* Informacion monetaria. */
/* Los primeros tres caracteres son el simbolo monetario segun
ISO 4217. El cuarto caracter es el separador. El quinto
caracter es ' '. */
char *int_curr_symbol;
char *currency_symbol; /* Simbolo monetario local. */
char *mon_decimal_point; /* Caracter usado como punto decimal. */
char *mon_thousands_sep; /* Separador de miles. */
char *mon_grouping; /* Igual que el campo `grouping'(arriba) */
char *positive_sign; /* Signo para valores positivos. */
char *negative_sign; /* Signo para valores negativos. */
char int_frac_digits; /* Digitos fraccionales internacionales. */
char frac_digits; /* Digitos fraccionales locales. */
char p_cs_precedes; /* 1 si el simbolo monetario precede a un
valor positivo, 0 si lo sucede. */
char p_sep_by_space; /* 1 si un espacio separa el simbolo
monetario de un valor positivo. */
char n_cs_precedes; /* 1 si el simbolo monetario precede a
un valor negativo, 0 si lo sucede. */
char n_sep_by_space; /* 1 si un espacio separa el simbolo
monetario de un valor negativo. */
/* Posiciones de los signos positivo y negativo:
0 Parentesis rodean a la cantidad y al simbolo monetario.
1 El signo precede a la cantidad y al simbolo monetario.
2 El signo sucede a la cantidad y al simbolo monetario.
3 El signo precede en forma inmediata al simbolo monetario.
4 El signo sucede en forma inmediata al simbolo monetario. */
char p_sign_posn;
char n_sign_posn;
};
CONFORME A
POSIX.1
Las funciones gettext de GNU estan especificadas en LI18NUX2000.
V'EASE TAMBI'EN
setlocale(3), localeconv(3), locale(1), localedef(1), nl_langinfo(3),
gettext(3), ngettext(3), rpmatch(3), strfmon(3), strcoll(3),
strxfrm(3), strftime(3)