• 日常搜索
  • 端口查询
  • IP查询
  • 在线工具
  • 搜本站

laravel框架安装多国语言包教程(laravel中文语言包拓展)

本教程分几块来学习,整合多家技术方法,很有参考价值

一、laravel框架安装多国语言包

laravel的一些提示信息都是默认英文,想更改为中文需要下载语言包,执行以下命令

composer require caouecs/laravel-lang:~3.0

执行完后将vendor中的caouecs中的src中的zh-CN文件夹放到views的lang文件夹中

然后还要更改配置项,将config里面的app.php里的locale改为zh-CN

'locale' => 'zh-CN',

这样就可以实现中文的信息了!

ps:如果你用的laravel自带的登录注册,模板上显示的还是英文,需要在lang文件夹下建立一个zh-CN.json文件,文件内容为

{	
"Login": "登录",
"Logout":"退出",
"E-Mail Address": "邮箱",
"Register":"注册",
"Password":"密码",
"Confirm Password":"确认密码",
"Name":"帐号", "Remember Me":"记住我",
"Forgot Your Password?":"找回密码",
"Reset Password":"重置密码",
"Send Password Reset Link":"发送重置邮件",
"Reset Password Notification":"重置密码通知",
"You are receiving this email because we received a password reset request for your account.":"您收到这封邮件是因为我们收到您的帐户密码重置请求。", "If you did not request a password reset, no further action is required.":"如果没有要求重新设置密码,则不需要进一步的操作。"}

如下图所示:

laravel框架安装多国语言包教程(laravel中文语言包拓展)  第1张

二、laravel5.8 语言包

语言包控制config/app.php

'locale' => 'en',

语言包位置:resources/lang/cn/

建立resources/lang/cn/common.php

<?php
return [
   'success'=>'成功',
   'fail'=>'失败'
];

控制器调用

public function index(){
       echo trans('common.success');
   }

愿配置还有:

laravel框架安装多国语言包教程(laravel中文语言包拓展)  第2张

都可以灵活运用哦。

三、Laravel 中文语言包

安装:

composer require caouecs/laravel-lang:~3.0 

1. 根据需要复制语言包到 resources/lang 目录中。

laravel框架安装多国语言包教程(laravel中文语言包拓展)  第3张

laravel框架安装多国语言包教程(laravel中文语言包拓展)  第4张

2. 修改 config/app.php 配置文件

'locale' => 'zh-CN', 

3.修改注册、登录、找回密码的模板,把英文标签逐个改为

{{__('Login')}}

类似这样的,这样前端才能正确显示。

4.重点(修改找回密码的邮件英文为中文)

添加通知

php artisan make:notification ResetPasswordNotification

打开app/Notifications/ResetPasswordNotification

//...class ResetPasswordNotification extends Notification{    //...
   public function __construct($token)
   {        $this->token = $token;
   }    //...

   public function toMail($notifiable)
   {        return (new MailMessage)
           ->subject('找回'.config('app.name').'的账户密码。')
           ->line('你收到这封信,是因为我们收到你账户的找回密码请求。')
           ->action('找回密码', url('/password/reset', $this->token))
           ->line('如果你没有请求找回密码,请忽略这条信息。');    
   }
}

修改User模型文件,app/User.php或app/Modles/User.php,添加一个发送邮件的方法:

use App\Notifications\ResetPasswordNotification;class User extends Authenticatable{    //...

   public function sendPasswordResetNotification($token)
   {        $this->notify(new ResetPasswordNotification($token));
   }
}
php artisan vendor:publish --tag=laravel-notifications

在 resources/views中多了个vendor目录,这里放的就是发送邮件的模板了,打开后我们进一步修改为中文......

四、laravel 语言包拓展

laravel 使用make:auth生成用户认证,登录表单是英文版本的,打开模板文件(resources/views/auth/login.blade.php),此模板文件是我们刚刚使用 make:auth 命令生成的

laravel框架安装多国语言包教程(laravel中文语言包拓展)  第5张

这是 Laravel 提供的本地化特性,使用 __() 函数来辅助实现。按照约定,本地化文件存储在 resources/lang 文件夹中,为 JSON 格式。在 config/app.php 文件中,我们设置了:

laravel框架安装多国语言包教程(laravel中文语言包拓展)  第6张

对应翻译文件就是 resources/lang/zh-CN.json ,需新建此文件:

resources/lang/zh-CN.json

laravel框架安装多国语言包教程(laravel中文语言包拓展)  第7张

laravel框架安装多国语言包教程(laravel中文语言包拓展)  第8张

会有很多人会遇到翻译 Laravel 自带模板的问题,所以我们无需自己一个个去翻译,这种通用的问题找找扩展包来处理即可。我们将使用 Laravel Lang 项目来实现,此项目支持了 52 个***的语言,使用以下命令安装:

composer require "overtrue/laravel-lang:~3.0"

完成上面的操作后,将项目文件 config/app.php 中的下一行

Illuminate\Translation\TranslationServiceProvider::class,

替换为:

Overtrue\LaravelLang\TranslationServiceProvider::class,

laravel框架安装多国语言包教程(laravel中文语言包拓展)  第9张



文章目录
  • 一、laravel框架安装多国语言包
  • 二、laravel5.8 语言包
  • 三、Laravel 中文语言包
    • 1. 根据需要复制语言包到 resources/lang 目录中。
    • 2. 修改 config/app.php 配置文件
    • 3.修改注册、登录、找回密码的模板,把英文标签逐个改为
    • 4.重点(修改找回密码的邮件英文为中文)
  • 四、laravel 语言包拓展
  • 发表评论