Se você desenvolve sites ou aplicações em PHP que serão acessadas por usuários de diferentes partes do mundo, configurar a localidade (locale) adequadamente é um passo crucial. A localidade define como elementos como datas, números, e moedas são formatados, de acordo com as convenções de cada país ou idioma. Neste post, aprenda Como setar localidade (locale) em PHP.
O que é a localidade (Locale)?
A localidade define as configurações regionais do sistema, como o idioma e as convenções culturais para a formatação de dados.
Por exemplo, datas podem ser exibidas de formas diferentes nos Estados Unidos e no Brasil (2024-10-07
vs. 07/10/2024
), assim como números (1,000.50
vs. 1.000,50
).
Configurando corretamente o locale no PHP, você garante que sua aplicação seja capaz de adaptar a apresentação dessas informações de forma correta para cada região.
Como setar a localidade em PHP?
A função responsável por configurar a localidade em PHP é a setlocale()
. Ela permite que você defina a localidade para várias categorias, como formatação de datas, números, e moedas. Vamos ver como usar?
Sintaxe básica
setlocale(categoria, localidade);
- categoria: Define qual aspecto da localidade você deseja modificar (datas, números, etc.);
- localidade: Define o idioma e a região, como
pt_BR
(português do Brasil) ouen_US
(inglês dos EUA).
Exemplo de uso
Vamos configurar a localidade para português do Brasil e formatar a saída de datas e números corretamente:
<?php
// Definir a localidade para português do Brasil
setlocale(LC_ALL, 'pt_BR.UTF-8');
// Exibir uma data formatada de acordo com a localidade
echo strftime("%A, %d de %B de %Y"); // Exemplo: segunda-feira, 07 de outubro de 2024
// Exibir um número formatado de acordo com a localidade
$numero = 1234.56;
echo number_format($numero, 2, ',', '.'); // Exemplo: 1.234,56
?>
No exemplo acima, estamos configurando a localidade para português do Brasil com o comando setlocale(LC_ALL, 'pt_BR.UTF-8')
, o que afeta todas as categorias (datas, números, e etc.).
A função strftime()
é usada para exibir uma data formatada no estilo brasileiro, enquanto number_format()
formata os números com vírgula para decimais e ponto como separador de milhar, como é padrão no Brasil.
Principais categorias de localidade
Ao usar o setlocale()
, você pode definir a localidade para diferentes categorias. Aqui estão as principais:
LC_ALL
: Define a localidade para todas as categorias (datas, números, moeda, etc.).LC_TIME
: Afeta a formatação de datas e horas.LC_NUMERIC
: Afeta a formatação de números decimais.LC_MONETARY
: Afeta a formatação de valores monetários.LC_COLLATE
: Define as regras de comparação de strings.LC_CTYPE
: Afeta a interpretação de caracteres (útil para strings multibyte).
Verificando suporte à localidade
Nem todos os servidores têm suporte a todas as localidades, então é bom testar se o ambiente está configurado corretamente para o locale que você deseja utilizar:
$localidade = setlocale(LC_ALL, 'pt_BR.UTF-8');
if ($localidade === false) {
echo 'Localidade não suportada no servidor.';
} else {
echo 'Localidade definida: ' . $localidade;
}
Esse código verifica se a localidade foi configurada corretamente e avisa caso o servidor não tenha suporte.
Dicas para trabalhar com localidades
- Verifique suporte no servidor: Nem todos os servidores têm todas as localidades configuradas, então teste e garanta que o servidor onde seu site está hospedado suporta a localidade desejada;
- Evite dependências diretas: Em algumas situações, é melhor evitar dependência direta de locales, usando funções customizadas para lidar com formatação de datas e números;
- Use UTF-8: Sempre que possível, utilize o UTF-8 nas localidades para garantir que caracteres especiais sejam corretamente exibidos.
Definir corretamente a localidade em PHP é uma forma essencial de garantir que sua aplicação se adapte a diferentes usuários ao redor do mundo, respeitando convenções regionais para formatação de datas, números, e moedas.
Com a função setlocale()
, você pode fazer com que seu site se ajuste automaticamente ao idioma e às convenções culturais dos seus visitantes.
Então conheça o curso online que já ajudou milhares de pessoas a aprender a programar e desenvolver seus próprios projetos do ZERO e usando orientação a objetos de uma forma fácil de entender.
CLIQUE NA IMAGEM ABAIXO E SAIBA MAIS:
Dúvidas ou sugestões sobre como setar localidade (locale) em PHP? Deixem nos comentários! Para mais dicas, acesse o nosso canal no YouTube:
https://youtube.com/criandobits
Quer receber GRÁTIS o e-book "Como Formatar um Computador em 5 Minutos"?
Sobre o Autor
0 Comentários