Laravel教程:本地化(应用中使用不同的语言)
Laravel本地化特性支持是用来在应用中使用不同的语言。你需要将不同语言的所有字符串存储在一个文件中,这些文件存储在 resources/views 目录。 应该为每个支持的语言存储在一个单独的目录。 所有的语言文件应该返回带键的字符串数组,如下图所示。
<?php return [ 'welcome' => 'Welcome to the application' ];
示例
第1步 - 创建3个语言文件 — English, French和 中文. 保存英语文件在 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/zh-cn/lang.php.
<?php return [ 'msg' => 'Laravel Internationalisierung 中文.' ]; ?>
第4步 - 创通过执行以下命令来建一个名为LocalizationController 的控制器。
php artisan make:controller LocalizationController
第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){ //set’s application’s locale app()->setLocale($locale); //Gets the translated message and displays it echo trans('lang.msg'); } }
第7步- 为 LocalizationController 添加一个路由在文件 - app/Http/routes.php。请注意,我们传递 {locale} 设置本地化在参数localization/ 之后,用它来查看不同语言输出。
app/Http/routes.php
Route::get('localization/{locale}','LocalizationController@index');
第8步 - 现在,让我们浏览不同的 URL 查看所有不同的语言。执行下面的网址查看英语输出结果。
http://localhost:8000/localization/en
第9步 - 如下面的图片所示输出结果。


第10步 - 执行下面的网址就可以看到法语输出。
http://localhost:8000/localization/fr
第11步 - 如下面的图片所示输出结果。
第12步 - 执行下面的网址就可以看到中文输出。
http://localhost:8000/localization/zh-cn
第13步 - 如下面的图片所示输出结果。
THE END