Laravel - 本地化
Laravel 的本地化功能支持在应用程序中使用不同的语言。您需要将所有不同语言的字符串存储在一个文件中,这些文件存储在 resources/views 目录中。您应该为每种支持的语言创建一个单独的目录。所有语言文件都应返回一个键控字符串数组,如下所示。
<?php return [ 'welcome' => 'Welcome to the application' ];
示例
步骤 1 − 为 英语、法语 和 德语 语言创建 3 个文件。将英语文件保存在 resources/lang/en/lang.php
<?php return [ 'msg' => 'Laravel Internationalization example.' ]; ?>
步骤 2 − 将法语文件保存在 resources/lang/fr/lang.php。
<?php return [ 'msg' => 'Exemple Laravel internationalisation.' ]; ?>
步骤 3 − 将德语文件保存在 resources/lang/de/lang.php。
<?php return [ 'msg' => 'Laravel Internationalisierung Beispiel.' ]; ?>
步骤 4 − 通过执行以下命令创建一个名为 LocalizationController 的控制器。
php artisan make:controller LocalizationController --plain
步骤 5 − 执行成功后,您将收到以下输出 −
步骤 6 − 将以下代码复制到文件中
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) { //设置应用程序区域 app()->setLocale($locale); //获取翻译后的消息并显示它 echo trans('lang.msg'); } }
步骤 7 − 在 app/Http/routes.php 文件中为 LocalizationController 添加路由。请注意,我们在 localization/ 之后传递了 {locale} 参数,我们将使用该参数查看不同语言的输出。
app/Http/routes.php
Route::get('localization/{locale}','LocalizationController@index');
步骤 8 − 现在,让我们访问不同的 URL 以查看所有不同的语言。执行以下 URL 以查看英语输出。
http://localhost:8000/localization/en
步骤 9 −输出将如下图所示显示。
步骤 10 − 执行以下 URL 以查看法语输出。
http://localhost:8000/localization/fr
步骤 11 − 输出将如下图所示显示。
步骤 12 −执行以下 URL 以查看德语输出
http://localhost:8000/localization/de
步骤 13 − 输出将如下图所示显示。