Forum und email

setlocale

(PHP 4, PHP 5)

setlocale — Define informações locais

Descrição

string setlocale ( mixed $category , string $locale [, string $... ] )
string setlocale ( mixed $category , array $locale )

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.

Dica

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 (00012221978));

/* 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 (00012221978));

/* 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'";
?>