Laravel - Localizzazione
La funzione di localizzazione di Laravel supporta diverse lingue da utilizzare nell'applicazione. È necessario memorizzare tutte le stringhe di una lingua diversa in un file e questi file vengono archiviati inresources/viewsdirectory. È necessario creare una directory separata per ciascuna lingua supportata. Tutti i file di lingua dovrebbero restituire un array di stringhe con chiave come mostrato di seguito.
<?php
return [
'welcome' => 'Welcome to the application'
];
Esempio
Step 1 - Crea 3 file per le lingue - English, French, e German. Salva il file inglese inresources/lang/en/lang.php
<?php
return [
'msg' => 'Laravel Internationalization example.'
];
?>
Step 2 - Salva il file francese in resources/lang/fr/lang.php.
<?php
return [
'msg' => 'Exemple Laravel internationalisation.'
];
?>
Step 3 - Salva il file tedesco in resources/lang/de/lang.php.
<?php
return [
'msg' => 'Laravel Internationalisierung Beispiel.'
];
?>
Step 4 - Crea un controller chiamato LocalizationController eseguendo il seguente comando.
php artisan make:controller LocalizationController --plain
Step 5 - Dopo aver eseguito con successo, riceverai il seguente output -
Step 6 - Copia il seguente codice su file
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 - Aggiungi un percorso per LocalizationController in app/Http/routes.phpfile. Si noti che stiamo passando l'argomento {locale} dopo la localizzazione / che useremo per vedere l'output in una lingua diversa.
app/Http/routes.php
Route::get('localization/{locale}','LocalizationController@index');
Step 8- Ora, visitiamo i diversi URL per vedere tutte le diverse lingue. Esegui l'URL seguente per visualizzare l'output in lingua inglese.
http://localhost:8000/localization/en
Step 9 - L'output apparirà come mostrato nell'immagine seguente.
Step 10 - Esegui l'URL seguente per visualizzare l'output in lingua francese.
http://localhost:8000/localization/fr
Step 11 - L'output apparirà come mostrato nell'immagine seguente.
Step 12 - Esegui l'URL seguente per visualizzare l'output in lingua tedesca
http://localhost:8000/localization/de
Step 13 - L'output apparirà come mostrato nell'immagine seguente.