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.