Localizar uma aplicação é a simples arte de fazer com que usuários de vários idiomas possa usar sua aplicação. Tal qual dublar um filme ou série, vai além de apenas traduzir um Yes para um Sim, é tornar a aplicação utilizável.
Mas o foco aqui vai ser o Laravel.
Não vou ficar explicando sobre o Laravel ou seu mérito de ser ou não uma boa escolha para se desenvolver, se resolver o problema do cliente de uma forma profissional tá valendo.
Então vamos começar.
O Laravel já vem preparado para que voce mude a sua linguagem principal, e o Blade já tem Helpers específicos para isso
para instalar os pacotes necessário
composer create-project --prefer-dist laravel/laravel localizandoaplicacao
O projeto irá ser criado com a versão corrente do Laravel criando uma estrutura como a apresentada na imagem abaixo:
Você pode simplesmente criar uma pasta chamada pt_BR dentro de resources/lang ( como no exemplo abaixo ) , criando um arquivo chamado messages.php
estrutura de pastas
arquivo messages.php em inglês
arquivo messages.php em português
E alterar o arquivo config/app.php na linha 83 de
para
e no arquivo resources/views/welcome.blade.php altere de
para
Mas isso apenas tornara a tradução estática, ou seja, apenas uma linguagem novamente.
E agora então?
Vamos criar uma rota que receba como parâmetro o idioma e assim sete o mesmo para a aplicação
A parte ruim dessa forma é que teremos que pensar em todas as rotas e sempre lembrar de sempre adicionar o parâmetro de idioma e o controle do mesmo a cada rota criada, o que pode tornar o desenvolvimento mais complexo e facilitar os erros.
Então vamos deixar a estrutura do Laravel cuidar disso para a gente.
Primeiro vamos mudar a rota para
Após isso vamos criar um middleware, que nada mais é um programa, que vai ser requisitado sempre que a aplicação mudar de rota, e desta forma a aplicação ficará responsável por tomar conta da gestão do idioma.
E vamos criar o middleware
php artisan make:middleware LocalizandoAplicacao
o conteúdo do arquivo deve ficar assim
Depois temos que alterar o arquivo app/Http/Kernel.php na sessão middlewareGroups para adicionar o middleware que criamos para ser executado.
Agora temos que criar os links para que o usuário possa escolher o idioma que irá utilizar durante seu acesso ao sistema.
Vamos alterar novamente o arquivo resources/views/welcome.blade.php que vai ficar assim
O que vai resultar no seguinte layout
Claro que existem outras abordagens em relação à adição e gestão de idiomas no Laravel, mas espero ter ajudado.
Top comments (2)
Obrigado, isso é o que eu estava procurando agora!
Espero ter ajudado