setlocale
(PHP 4, PHP 5)
setlocale — Define informações locais
Descrição
Category é uma constante (ou string) especificando a categoria de funções afetadas pela definição local: setting:
- LC_ALL para tudo abaixo
- LC_COLLATE para comparação de strings, veja strcoll()
- LC_CTYPE para classificação de caracteres e conversão, por exemplo strtoupper()
- LC_MONETARY para localeconv()
- LC_NUMERIC para o separador decimal (Veja também localeconv())
- LC_TIME para formatação de data e hora com strftime()
Se locale for uma string vazia "", o nome do local será obtido apartir de variaveis de ambiente com os mesmos nomes das categorias acima ou apartir de "LANG".
Se locale for NULL ou "0", a definição de local não é modificada, apenas retorna a definição atual.
Se locale for uma matriz ou conter parâmetros adicionais, então cada elemento da matriz é tentado como um local até obter sucesso. Isto é útil se um lugar é conhecido por nomes diferentes em sistemas diferentes ou para prover um outro local se um estiver indisponÃvel.
Nota: Passar varios lugares não esta disponÃvel antes do PHP 4.3.0
setlocale() retorna o novo local ou FALSE se a funcionalidade de locais não estiver implementada em sua plataforma, o local não existir ou a categoria for invalida. Uma categoria invalida também gera uma mensagem de aviso. Nomes de categoria/local podem ser encontrados em » RFC 1766 e » ISO 639.
Nota: O valor de retorno de setlocale() depende do sistema no qual o PHP esta sendo executado. Ele retorna exatamente o que a função setlocale do sistema retorna.
Usuários do windows encontraram informações úteis sobre as strings de locale no site MSDN da Microsoft. Strings das lÃnguas suportadas podem ser encontradas » aqui as strings de pais/região suportados » aqui. Sistemas windows suportam códigos de três letras para pais/região especificados por ISO 3166-Alpha-3, que pode ser encontrada em » Unicode website .
Example#1 Exemplos setlocale()
<?php
/* Define o local para Holandês(usar pt_BR para o Português(Brasil) ) */
setlocale (LC_ALL, 'nl_NL');
/* Mostra: vrijdag 22 december 1978 */
echo strftime ("%A %e %B %Y", mktime (0, 0, 0, 12, 22, 1978));
/* Tenta diferentes nomes de local para o Alemão apartir do PHP 4.3.0 */
$loc_de = setlocale (LC_ALL, 'de_DE@euro', 'de_DE', 'de', 'ge');
echo "Preferred locale for german on this system is '$loc_de'";
?>
Example#2 Exemplos para windows desetlocale()
<?php
/* Define o local para Holandês(usar ptb para o Português(Brasil) ) */
setlocale (LC_ALL, 'nld_nld');
/* Mostra: vrijdag 22 december 1978 */
echo strftime ("%A %d %B %Y", mktime (0, 0, 0, 12, 22, 1978));
/* Tenta diferentes nomes de local para o Alemão apartir do PHP 4.3.0 */
$loc_de = setlocale (LC_ALL, 'de_DE@euro', 'de_DE', 'deu_deu');
echo "Preferred locale for german on this system is '$loc_de'";
?>