Laravel - Localización

La función de localización de Laravel admite diferentes idiomas para usar en la aplicación. Debe almacenar todas las cadenas de diferentes idiomas en un archivo y estos archivos se almacenan enresources/viewsdirectorio. Debe crear un directorio independiente para cada idioma admitido. Todos los archivos de idioma deben devolver una matriz de cadenas con clave como se muestra a continuación.

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

Ejemplo

Step 1 - Crea 3 archivos para idiomas - English, Frenchy German. Guarde el archivo en inglés enresources/lang/en/lang.php

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

Step 2 - Guardar archivo francés en resources/lang/fr/lang.php.

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

Step 3 - Guarde el archivo alemán en resources/lang/de/lang.php.

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

Step 4 - Crea un controlador llamado LocalizationController ejecutando el siguiente comando.

php artisan make:controller LocalizationController --plain

Step 5 - Después de una ejecución exitosa, recibirá el siguiente resultado:

Step 6 - Copie el siguiente código al archivo

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 - Agrega una ruta para LocalizationController en app/Http/routes.phparchivo. Note que estamos pasando el argumento {locale} después de la localización / que usaremos para ver la salida en un idioma diferente.

app/Http/routes.php

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

Step 8- Ahora, visitemos las diferentes URL para ver todos los idiomas diferentes. Ejecute la siguiente URL para ver la salida en inglés.

http://localhost:8000/localization/en

Step 9 - La salida aparecerá como se muestra en la siguiente imagen.

Step 10 - Ejecute la siguiente URL para ver la salida en idioma francés.

http://localhost:8000/localization/fr

Step 11 - La salida aparecerá como se muestra en la siguiente imagen.

Step 12 - Ejecute la siguiente URL para ver la salida en idioma alemán

http://localhost:8000/localization/de

Step 13 - La salida aparecerá como se muestra en la siguiente imagen.