Provided by: manpages-pt_20040726-4_all bug

NOME

       locale - Descrição de suporte multi-linguagem

SINOPSE

       #include <locale.h>

DESCRIÇÃO

       Um  locale  é um conjunto de regras de linguagem e cultura. Elas cobrem aspectos tais como
       linguagem para mensagens, conjuntos diferentes de caracteres,  convenções  lexicográficas,
       etc.  Um  programa  precisa ser capaz de determinar seu locale e atuar de acordo, para ser
       portável para diferentes culturas.

       O cabeçalho <locale.h> declara tipos de dados,  funções  e  macros  que  são  úteis  nesta
       tarefa.

       As  funções  que  ele  declara  são  setlocale()  para  configurar  o  locale  corrente, e
       localeconv() para adquirir informação sobre formatação de números.

       Há categorias diferentes para informação de local que um programa possa precisar; elas são
       declaradas  como macros. Usando-as como o primeiro argumento para a função setlocale() , é
       possível configurar um dos locales desejados:

       LC_COLLATE
              Isto é usado para mudar o comportamento das funções strcoll() e strxfrm(), que  são
              usadas para comparar strings no alfabeto local. Por exemplo, o 's' afiado da língua
              alemã é colocado na lista como "ss".

       LC_CTYPE
              Isto  muda  o  comportamento  da  manipulação  de  caracteres  e  das  funcções  de
              classificação,   tais  como  isupper()  e  toupper(),  e  as  funções  de  caracter
              multi-byte, tais como mblen() ou wctomb().

       LC_MONETARY
              muda a informação retornada por localeconv() ,  que  descreve  a  maneira  como  os
              números  geralmente  impressos,  com  detalhes  tais como ponto versus vírgula para
              separação de decimais. Esta informação é usada internamente pela função strfmon().

       LC_MESSAGES
              muda as mensagens de linguagem que são exibidas, e  a  aparência  de  uma  resposta
              afirmativa ou negativa. A biblioteca GNU C contém a função rpmatch() para facilitar
              o uso dessa informação.

       LC_NUMERIC
              muda a informação usada pela família de funções printf() e scanf()  ,  quando  elas
              são  avisadas para usar as configurações de locale. Esta informação também pode ser
              lida com a função localeconv()

       LC_TIME
              muda o comportamento da função strftime() para exibir a hora corrente em um formato
              localmente  aceitável;  por exemplo, a maioria da Europa usa o relógio de 24 horas,
              em vez do relógio de 12 horas como nos EUA.

       LC_ALL Tudo o que está acima.

       Se o segundo argumento de setlocale() é uma string vazia, "", para o locale padrão, ele  é
       determinado através dos seguintes passos:

       1.     Se há uma variável de ambiente LC_ALL não-nula, o valor de LC_ALL é usado.

       2.     Se existe uma variável de ambiente com o mesmo nome que uma das categorias acima, e
              ela não é nula, seu valor é usado para aquela categoria.

       3.     Se há uma variável de ambiente LANG não-nula, o valor de LANG é usado.

       Valores relativos a formatação numérica local se faz disponível em  uma  estrutura  struct
       lconv retornada pela função localeconv(), que tem a seguinte declaração:
       struct lconv
       {
         /* Informação numérica (não-monetária) */

         char *decimal_point;        /* caractere de separação de decimais */
         char *thousands_sep;        /* separador de milhar */
         /* Cada elemento é um número de dígitos em cada grupo;
            elementos com índices maiores estão à esquerda.
            Um elemento com valor CHAR_MAX significa que mais nenhum agrupamento está feito.
            Um elemento com valor 0 significa que o elemento anterior é usado para
            todos os grupos à esquerda */
         char *grouping;

         /* Informação monetária */

         /* Os primeiros três caracteres são o símbolo monetário do ISO 4217.
            O quarto caractere é o separador. O quinto é ' '.  */
         char *int_curr_symbol;
         char *currency_symbol; /* Símbolo monetário local.  */
         char *mon_decimal_point;    /* Caractere de separação decimal.  */
         char *mon_thousands_sep;    /* Separador de milhar.  */
         char *mon_grouping;         /* Elemento de agrupamento (acima).  */
         char *positive_sign;        /* Sinal para valores positivos.  */
         char *negative_sign;        /* Sinal para valores negativos.  */
         char int_frac_digits;       /* Dígitos fracionários internacionais. */
         char frac_digits;      /* Dígitos fracionários locais.  */
         /* 1 se currency_symbol precede um valor positivo, 0 se sucede.  */
         char p_cs_precedes;
         /* 1 se um espaço separa currency_symbol de um valor positivo.  */
         char p_sep_by_space;
         /* 1 se currency_symbol precede um valor negativo, 0 se sucede.  */
         char n_cs_precedes;
         /* 1 se um espaço separa currency_symbol de um valor negativo.  */
         char n_sep_by_space;
         /* Posições dos sinais positivo e negativo:
            0 Parênteses rodeiam o valor e o currency_symbol.
            1 A string de sinal precede o valor e o currency_symbol.
            2 A string de sinal suceede o valor e o currency_symbol.
            3 A string de sinal precede imediatamente o currency_symbol.
            4 A string de sinal sucede imediatamente o currency_symbol.  */
         char p_sign_posn;
         char n_sign_posn;
       };

CONFORME

       POSIX.1

VEJA TAMBÉM

       setlocale(3),  localeconv(3), locale(1), localedef(1), rpmatch(3), strfmon(3), strcoll(3),
       strxfrm(3), strftime(3)

TRADUZIDO POR LDP-BR em 21/08/2000.

       Rubens  de  Jesus  Nogueira  <darkseid99@usa.net>  (tradução)  André  L.  Fassone   Canova
       <lonelywolf@blv.com.br> (revisão)