Utilizando arquivos de tradução no Laravel

Com os arquivos de tradução é possível tanto portar uma aplicação para outros idiomas quanto centralizar todos os textos.

PHP Moderno: Criando uma aplicação com área administrativa

O Laravel é um framework que parece ter funcionalidades infinitas, você sempre vai ver alguém fazendo algo de diferente com ele, não é mesmo? Pois bem, hoje você vai acompanhar o passo a passo de como utilizar os arquivos de tradução do Laravel.

Os arquivos de tradução são muito úteis quando há a necessidade de portar a nossa aplicação para diferentes idiomas, como o Português e o Inglês. Também podemos centralizar todos os nossos textos da nossa aplicação nesses arquivos.

O seu funcionamento é bem simples, basta criar um arquivo dentro de uma pasta especial, criar um array associativo e chamar quando necessário esse índice através das funções fornecidas pelo Laravel.

Algumas versões mais antigas do Laravel já vem com uma pasta chamada /lang na raiz do projeto, mas se a sua versão não tem, então basta publicar ela através do comando abaixo.

php artisan lang:publish

Perfeito, agora uma pasta /lang já está disponível no seu projeto. Perceba que nela há uma pasta chamada /en, ela contém alguns arquivos de tradução no idioma Inglês. Para o nosso exemplo, vamos criar uma nova pasta chamada de pt que vai ficar dentro da pasta /lang.
- lang
--- en
--- pt

Dentro dessa nova pasta, crie um arquivo .php chamado de cliente.php, nesse arquivo insira o conteúdo conforme mostra o código abaixo.

<?php
return [
    "nome_label" => "Informe o seu nome"
];

Perceba que no código a gente tem um array com chave valor, é importante que você tenha um esquema de padronização desses nomes para não tornar o projeto confuso ou difícil de se manter.

Agora que temos nosso arquivo criado, para utilizar em qualquer parte do seu projeto, basta utilizar uma das duas funções disponíveis, conforme mostra o exemplo abaixo.

<?php

__('arquivo.indice');
trans('arquivo.indice');

Perceba que é necessário informar o nome do arquivo e o índice do array pretendido, sendo assim, vamos fazer uma chamada para o arquivo e array que criamos anteriormente.

<?php
echo __('cliente.nome_label');

Caso queira exibir em um blade, insira da seguinte forma.

<label id=”name”>{{__('cliente.nome_label')}}</label>

Só isso não é o suficiente, você ainda precisa fazer uma última configuração no seu projeto, então vá até o arquivo config\app.php e insira o nome da sua pasta, referente ao idioma pretendido. Você também pode salvar essa informação em cookies, sessões e em variáveis de ambiente, se necessário.

'locale' => 'pt',

Preparamos uma videoaula com todo o passo a passo e um exemplo mais completo, assista através do vídeo a seguir.

 

Referências

Localization: https://laravel.com/docs/11.x/localization