Laravel 添加多语言提示信息的方法

Laravel默认的locale用的是en,在resouces/lang/en文件夹下,我们可以看到以下几个文件:

resources
 - lang
   - en
     -- auth.php
     -- pagination.php
     -- passwords.php
     -- validation.php

其中validation.php是验证用户提交表单信息的提示文字,比如

'required' => 'The :attribute field is required.',

该行将会在用户未填写某一栏(假设input的name为test)时提示The test field is required.'。 那么我们要添加多语言提示其实也很简单,并不是直接改动en文件夹下的对应文件,而是在lang文件夹下新建立一个新locale文件夹,比如中文我采用了zh`:

resources
 - lang
   - en
     -- auth.php
     -- pagination.php
     -- passwords.php
     -- validation.php
   - zh
     -- auth.php
     -- pagination.php
     -- passwords.php
     -- validation.php

注意我们需要把en文件夹下所有文件复制进zh,然后我们就可以修改zh文件夹下的文件了。

需要注意的是,在validation.php中,有一个叫attributes的数组,我们需要在里面把我们input的name都一一添加进去,否则提示信息中的:attribute会使用默认的input name,所以如果我们如果将之前的required信息改为:

'required' => ':attribute不能为空',

那么用户会看到的错误信息为:

test不能为空

而如果我们在attributes数组中添加以下元素:

'attributes' => [
 'test' => '测试',
]

那么我们的错误信息则会显示:

测试不能为空

所以,为了给用户更好的使用体验,我们需要尽量多地将提示信息完善。

最后一步,添加完了locale文件之后,我们需要在config/app.php中修改我们的locale:

'locale' => 'zh',
'fallback_locale' => 'en',

这样默认的locale就会使用我们新建的zh了。

以上这篇Laravel 添加多语言提示信息的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • laravel实现于语言包的完美切换方法

    需要引入: use Illuminate\Support\Facades\Session; use Illuminate\Support\Facades\App; 前言: App::getLocale();获取当前语言 App::setLocale();设置语言配置文件 语言配置文件config/app.php locale 是默认语言,fallback_locale为备用语言 语言字符串存放在resources/lang目录中,Blade模板引擎打印语言行{{ trans('messages.

  • Laravel项目中timeAgo字段语言转换的改善方法示例

    前言 在我们过去的Laravel项目中,经常需要用到time_ago这样的字段,并将其转换为我们熟悉的本地语言,可以实现的方式有很多,比如编写一个time_ago的辅助函数将其转换成本地,或采用carbon的diffForHumans函数然后替换成本地语言来实现. 过去我们编写过的代码像这样: 这样 但是我们需要将其替换成中文.繁体中文.日本或是韩文时,我们就需要编写多个类似的方法如: time_ago_CN //简体中文 time_ago_HK //繁体中文 time_ago_JP //日文

  • Laravel 添加多语言提示信息的方法

    Laravel默认的locale用的是en,在resouces/lang/en文件夹下,我们可以看到以下几个文件: resources - lang - en -- auth.php -- pagination.php -- passwords.php -- validation.php 其中validation.php是验证用户提交表单信息的提示文字,比如 'required' => 'The :attribute field is required.', 该行将会在用户未填写某一栏(假设in

  • Laravel 实现添加多语言提示信息

    Laravel默认的locale用的是en,在resouces/lang/en文件夹下,我们可以看到以下几个文件: resources - lang - en -- auth.php -- pagination.php -- passwords.php -- validation.php 其中validation.php是验证用户提交表单信息的提示文字,比如 'required' => 'The :attribute field is required.', 该行将会在用户未填写某一栏(假设in

  • laravel实现登录时监听事件,添加登录用户的记录方法

    一.执行,php artisan make:event AdminLoginEvent 命令,Laravel目录\app\Events会生成AdminLoginEvent.php文件, 二.我们先在\app\Providers目录下找到EventServiceProvider.php文件,该文件内有一个Events-Listeners数组来保存事件和监听者的映射关系: protected $listen = [ 'App\Events\AdminLoginEvent' => [ 'App\Lis

  • thinkPHP多语言切换设置方法详解

    本文实例讲述了thinkPHP多语言切换设置方法.分享给大家供大家参考,具体如下: thinkphp多语言设置有点'高大上',为什么说它有点'高大上'呢?因为本人设置了好久才弄好,而本人之所以弄了好久的原因,竟然是因为'开启语言设置必须得先开启初始化系统的行为类',所以,在这里,因为本人的经验有限,姑且认为tp的多语言设置必须的先初始化tp的CheckLangBehavior.class.php 怎么初始化CheckLangBehavior.class.php呢?下面进行讲解. tp框架下面,所

  • Yii2简单实现多语言配置的方法

    本文实例讲述了Yii2简单实现多语言配置的方法,分享给大家供大家参考,具体如下: 1.配置文件中添加 'i18n' => [ 'translations' => [ '*' => [ 'class' => 'yii\i18n\PhpMessageSource', 'basePath' => '@app/messages', 'sourceLanguage' => 'en', 'fileMap' => [ 'custorm' => 'custorm.php',

  • Go语言中的方法、接口和嵌入类型详解

    概述 在 Go 语言中,如果一个结构体和一个嵌入字段同时实现了相同的接口会发生什么呢?我们猜一下,可能有两个问题: 1.编译器会因为我们同时有两个接口实现而报错吗? 2.如果编译器接受这样的定义,那么当接口调用时编译器要怎么确定该使用哪个实现? 在写了一些测试代码并认真深入的读了一下标准之后,我发现了一些有意思的东西,而且觉得很有必要分享出来,那么让我们先从 Go 语言中的方法开始说起. 方法 Go 语言中同时有函数和方法.一个方法就是一个包含了接受者的函数,接受者可以是命名类型或者结构体类型的

  • 在 Laravel 项目中使用 webpack-encore的方法

    看过我之前写过的博客的应该知道我一直是 laravel-mix 的死忠粉,有好几篇文章都是关于它的.每每提到 laravel-mix 时更是不吝溢美之词.然而就在大概一个月前,我却决定不再使用它,而转投 webpack-encore 阵营. 至于为什么放弃 laravel-mix,主要是因为它的维护状况堪忧,不仅更新节奏缓慢,许多 Issue 久悬未决,更重要的是,作者似乎将很多 bug 完全寄希望于 webpack5,哪怕有热心人士 PR 了,也通常被关掉,然后回复说"兄 dei,这个坑等 w

  • Laravel框架中缓存的使用方法分析

    本文实例讲述了Laravel框架中缓存的使用方法.分享给大家供大家参考,具体如下: 1. Laravel为各种不同的缓存系统提供了一致的API,支持的缓存有File.Memcached和Redis等 2. 主要方法 put().add().forever().has().get().pull().forget() 3. 配置文件路径 /config/cache.php 4. 添加路由 Route::get('/cache1', 'HomeController@cache1'); Route::g

  • laravel框架 api自定义全局异常处理方法

    api返回实现 $result = User::find($id); if(empty($result)){ throw new ApiException('获取失败'); } else{ return json_decode($result); } api返回信息 { "msg": "", "data": "获取失败", "status": 0 } 1,添加异常类 namespace App\Except

随机推荐