.\" -*- nroff -*- .\" (c) 1993 por Thomas Koenig (ig25@rz.uni-karlsruhe.de) .\" .\" Permissão é dada para fazer e distribuir cópias verbatim deste .\" manual, fornecida a nota de copyright, e esta nota de permissão .\" estando preservada em todas as cópias. .\" .\" Permissão é dada para cópia e distribuição de versões modificadas .\" deste manual sob as condições de cópia verbatim, desde que todo o .\" trabalho derivado resultante seja distribuído sob os termos de uma .\" nota de permissão idêntica a esta. .\" .\" Como o kernel e as bibliotecas do Linux estão mudando constantemente, .\" esta página de manual pode estar incorreta ou desatualizada. O(s) .\" autor(es) não assumem responsabilidade por erros, omissões ou danos .\" resultantes do uso da informação contida aqui. O(s) autor(es) pode(m) .\" não ter tomado o mesmo nível de cuidado na produção deste manual, .\" que é licenciado livre de custos, do que poderiam no caso de um trabalho .\" profissional. .\" .\" Versões formatadas ou processadas deste manual, se desacompanhada da .\" fonte, deve reconhecer o copyright e os autores do trabalho. .\" .\" Modificado em Sab Jul 24 17:28:34 1993 por Rik Faith (faith@cs.unc.edu) .\" Modificado em Dom Jun 01 17:16:34 1997 por Jochen Hein (jochen.hein@delphi.central.de) .TH LOCALE 7 "24/04/1993" "Linux" "Manual do Programador Linux" .SH NOME locale \- Descrição de suporte multi-linguagem .SH SINOPSE .nf .B #include .fi .SH 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. .PP O cabeçalho .B declara tipos de dados, funções e macros que são úteis nesta tarefa. .PP As funções que ele declara são .B setlocale() para configurar o locale corrente, e .B localeconv() para adquirir informação sobre formatação de números. .PP 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 .B setlocale() , é possível configurar um dos locales desejados: .TP .B LC_COLLATE Isto é usado para mudar o comportamento das funções .B strcoll() e .BR 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". .TP .B LC_CTYPE Isto muda o comportamento da manipulação de caracteres e das funcções de classificação, tais como .B isupper() e .BR toupper() , e as funções de caracter multi\-byte, tais como .B mblen() ou .BR wctomb() . .TP .B LC_MONETARY muda a informação retornada por .B 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 .BR strfmon() . .TP .B 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 .B rpmatch() para facilitar o uso dessa informação. .TP .B LC_NUMERIC muda a informação usada pela família de funções .B printf() e .B 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 .B localeconv() . .TP .B LC_TIME muda o comportamento da função .B 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. .TP .B LC_ALL Tudo o que está acima. .PP Se o segundo argumento de .B setlocale() é uma string vazia, .BR """""" , para o locale padrão, ele é determinado através dos seguintes passos: .IP 1. Se há uma variável de ambiente .BR LC_ALL não-nula, o valor de .B LC_ALL é usado. .IP 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. .IP 3. Se há uma variável de ambiente .BR LANG não-nula, o valor de .B LANG é usado. .PP Valores relativos a formatação numérica local se faz disponível em uma estrutura .B struct lconv retornada pela função .B localeconv(), que tem a seguinte declaração: .nf 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 é '\0'. */ 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; }; .fi .SH "CONFORME" POSIX.1 .SH "VEJA TAMBÉM" .BR setlocale (3), .BR localeconv (3), .BR locale (1), .BR localedef (1), .BR rpmatch (3), .BR strfmon (3), .BR strcoll (3), .BR strxfrm (3), .BR strftime (3) .SH TRADUZIDO POR LDP-BR em 21/08/2000. \&\fR\&\f(CWRubens de Jesus Nogueira (tradução)\fR \&\fR\&\f(CWAndré L. Fassone Canova (revisão)\fR