Laravel - Localisation

La fonction de localisation de Laravel prend en charge différentes langues à utiliser dans l'application. Vous devez stocker toutes les chaînes de langues différentes dans un fichier et ces fichiers sont stockés dansresources/viewsannuaire. Vous devez créer un répertoire distinct pour chaque langue prise en charge. Tous les fichiers de langue doivent renvoyer un tableau de chaînes codées comme indiqué ci-dessous.

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

Exemple

Step 1 - Créer 3 fichiers pour les langues - English, French, et German. Enregistrer le fichier en anglais surresources/lang/en/lang.php

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

Step 2 - Enregistrer le fichier français sur resources/lang/fr/lang.php.

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

Step 3 - Enregistrer le fichier allemand sur resources/lang/de/lang.php.

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

Step 4 - Créez un contrôleur appelé LocalizationController en exécutant la commande suivante.

php artisan make:controller LocalizationController --plain

Step 5 - Après une exécution réussie, vous recevrez la sortie suivante -

Step 6 - Copiez le code suivant dans un fichier

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 - Ajouter une route pour LocalizationController dans app/Http/routes.phpfichier. Notez que nous passons l'argument {locale} après la localisation / que nous utiliserons pour voir la sortie dans une langue différente.

app/Http/routes.php

Route::get('localization/{locale}','[email protected]');

Step 8- Maintenant, visitons les différentes URL pour voir toutes les différentes langues. Exécutez l'URL ci-dessous pour voir la sortie en anglais.

http://localhost:8000/localization/en

Step 9 - La sortie apparaîtra comme indiqué dans l'image suivante.

Step 10 - Exécutez l'URL ci-dessous pour voir la sortie en langue française.

http://localhost:8000/localization/fr

Step 11 - La sortie apparaîtra comme indiqué dans l'image suivante.

Step 12 - Exécutez l'URL ci-dessous pour voir la sortie en langue allemande

http://localhost:8000/localization/de

Step 13 - La sortie apparaîtra comme indiqué dans l'image suivante.