Available in

(1) (1)/fr (1posix) (3perl) (5) (5)/es (5)/fr (5)/it (5)/ja (5)/pl (5)/pt (5)/zh_CN (5)/zh_TW (7) (7)/cs (7)/de (7)/es (7)/fr (7)/hu (7)/it (7)/ja (7)/pl (7)/pt (7)/ru (7)/zh_CN (7)/zh_TW

TOC

LOCALE(7)                 Manual do Programador Linux                LOCALE(7)



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), strf‐
       mon(3), strcoll(3), strxfrm(3), strftime(3)

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

       Rubens de Jesus Nogueira <darkseid99 [AT] usa.net> (tradução) André L.  Fas‐
       sone Canova <lonelywolf [AT] blv.br> (revisão)



Linux                             24/04/1993                         LOCALE(7)

COMMENTS

Add your comment here. Whitespace and linebreaks are preserved. URLs are linked automatically.
CAPTCHA

No HTML allowed. URLs will be linked with nofollow attribute. Whitespace is preserved.