Laravel - Localização

O recurso de localização do Laravel suporta diferentes idiomas para serem usados ​​no aplicativo. Você precisa armazenar todas as strings de idiomas diferentes em um arquivo e esses arquivos são armazenados emresources/viewsdiretório. Você deve criar um diretório separado para cada idioma com suporte. Todos os arquivos de idioma devem retornar uma matriz de strings com chave, conforme mostrado abaixo.

<?php
return [
   'welcome' => 'Welcome to the application'
];

Exemplo

Step 1 - Crie 3 arquivos para idiomas - English, Frenche German. Salve o arquivo em inglês emresources/lang/en/lang.php

<?php
   return [
      'msg' => 'Laravel Internationalization example.'
   ];
?>

Step 2 - Salve o arquivo francês em resources/lang/fr/lang.php.

<?php
   return [
      'msg' => 'Exemple Laravel internationalisation.'
   ];
?>

Step 3 - Salve o arquivo alemão em resources/lang/de/lang.php.

<?php
   return [
      'msg' => 'Laravel Internationalisierung Beispiel.' 
   ];
?>

Step 4 - Crie um controlador chamado LocalizationController executando o seguinte comando.

php artisan make:controller LocalizationController --plain

Step 5 - Após a execução bem-sucedida, você receberá a seguinte saída -

Step 6 - Copie o seguinte código para o arquivo

app/Http/Controllers/LocalizationController.php

app/Http/Controllers/LocalizationController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class LocalizationController extends Controller {
   public function index(Request $request,$locale) {
      //set’s application’s locale
      app()->setLocale($locale);
      
      //Gets the translated message and displays it
      echo trans('lang.msg');
   }
}

Step 7 - Adicione uma rota para LocalizationController em app/Http/routes.phpArquivo. Observe que estamos passando o argumento {locale} após a localização / que usaremos para ver a saída em outro idioma.

app/Http/routes.php

Route::get('localization/{locale}','LocalizationController@index');

Step 8- Agora, vamos visitar os diferentes URLs para ver todos os idiomas diferentes. Execute o URL abaixo para ver a saída em inglês.

http://localhost:8000/localization/en

Step 9 - A saída aparecerá conforme mostrado na imagem a seguir.

Step 10 - Execute o URL abaixo para ver a saída em francês.

http://localhost:8000/localization/fr

Step 11 - A saída aparecerá conforme mostrado na imagem a seguir.

Step 12 - Execute o URL abaixo para ver a saída em alemão

http://localhost:8000/localization/de

Step 13 - A saída aparecerá conforme mostrado na imagem a seguir.