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) ou en_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

  1. 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;

  2. 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;

  3. 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.

QUER APRENDER PHP ORIENTADO A OBJETOS OU APERFEIÇOAR O QUE JÁ SABE?

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:

CLIQUE AQUI 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

Tags:

Quer receber GRÁTIS o e-book "Como Formatar um Computador em 5 Minutos"?

Não enviamos spam. Seu e-mail está 100% seguro!

Sobre o Autor

Bene Silva Júnior
Bene Silva Júnior

Bacharel em Sistemas de Informação pelo Instituto Paulista de Pesquisa e Ensino IPEP. Apaixonado por tecnologias e games do tempo da vovó!

0 Comentários

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *