Section: Manual del Programador de Linux (7)
Updated: 24 abril 1993
Index Return to Main
Contents
locale - Descripción del soporte para múltiples idiomas
#include <locale.h>
Una localidad (locale) es un conjunto de reglas culturales e idiomáticas que abarcan aspectos tales como el idioma usado para mensajes, diferentes juegos de caracteres, convenios lexicográficos, etc. Un programa debe poder determinar su localidad 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 localidad actual, y localeconv() 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() es posible modificar uno de los siguientes atributos para que usen la localidad adecuada:
Si el segundo argumento de la función setlocale() es una cadena vacía, , se usa la localidad predeterminada. Esta localidad se determina de la siguiente forma:
Se puede obtener información sobre el formato numérico local usando la estructura struct lconv devuelta por la función localeconv(). Dicha estructura tiene la siguiente declaración:
struct lconv { /* Información numérica no monetaria. */ char *decimal_point; /* Caracter usado como punto decimal. */ char *thousands_sep; /* Separador de miles. */ /* Cada elemento indica el número de dígitos en cada grupo; los elementos con índices altos están hacia la izquierda. Un elemento con valor CHAR_MAX indica que a partir de esa posición no se deben agrupar mas dígitos. Un elemento con valor 0 indica que se debe usar el elemento anterior para todos los grupos hacia la izquierda. */ char *grouping; /* Información monetaria. */ /* Los primeros tres caracteres son el símbolo monetario según ISO 4217. El cuarto caracter es el separador. El quinto caracter es ' '. */ char *int_curr_symbol; char *currency_symbol; /* Símbolo 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; /* Dígitos fraccionales internacionales. */ char frac_digits; /* Dígitos fraccionales locales. */ char p_cs_precedes; /* 1 si el símbolo monetario precede a un valor positivo, 0 si lo sucede. */ char p_sep_by_space; /* 1 si un espacio separa el símbolo monetario de un valor positivo. */ char n_cs_precedes; /* 1 si el símbolo monetario precede a un valor negativo, 0 si lo sucede. */ char n_sep_by_space; /* 1 si un espacio separa el símbolo monetario de un valor negativo. */ /* Posiciones de los signos positivo y negativo: 0 Paréntesis rodean a la cantidad y al símbolo monetario. 1 El signo precede a la cantidad y al símbolo monetario. 2 El signo sucede a la cantidad y al símbolo monetario. 3 El signo precede en forma inmediata al símbolo monetario. 4 El signo sucede en forma inmediata al símbolo monetario. */ char p_sign_posn; char n_sign_posn; };
(3), localeconv(3), locale(1), localedef(1), rpmatch(3), strfmon(3), strcoll(3), strxfrm(3), strftime(3)
This document was created by man2html, using
the manual pages.
Time: 06:16:29 GMT, January 22, 2005