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步 - 如下面的图片所示输出结果。


上一篇:Laravel表单处理

下一篇:Laravel会话(session)

关注微信小程序
程序员编程王-随时随地学编程

扫描二维码
程序员编程王

扫一扫关注最新编程教程