sábado, 26 de abril de 2014

Setando o locale no Laravel 4

Olá galera,

Estou utilizando o Carbon que é uma API para trabalhar com Datetime e vem junto com o Laravel 4. Para quem nunca ouviu falar, pode ver mais detalhes aqui.

{{ Carbon::now()->formatLocalized('Brasília %d de %B de %Y') }}

O código acima exibe o dia atual formatado. Ex: Brasília 07 de April de 2014. O problema aqui é o mês em inglês. Há várias formas de resolver o problema, inclusive criando arrays com os meses em português e etc. Adotaremos uma solução mais elegante.

No meu Ubuntu, abri o terminal e digitei locale -a. Foi exibida uma lista de locales disponíveis e entre eles, o que vou utilizar: pt_BR.utf8.

OBS: Caso não seja exibido o locale do Brasil, é bem provável que não esteja instalado. Para fazer a instalação, abra o terminal e digite

Abra o arquivo app/filters.php e dentro de App::before, adicione setlocale (LC_ALL, 'pt_BR.utf8');. O resultado final deve ficar como abaixo.

  App::before(function($request)
  {
    setlocale (LC_ALL, 'pt_BR.utf8');
  });
  

Agora o resultado exibido será Brasília 07 de abril de 2014.

Um grande abraço e até a próxima.

Nenhum comentário:

Postar um comentário