laravel 5.3 更换语言包

 假行僧396741 关注

2016.12.15 15:36* 字数 280 阅读 4457评论 0喜欢 4

Laravel-lang

Laravel 5 语言包,包含 52 种语言, 基于 caouecs/Laravel-lang.

trans()
函数根据你的 [本地化文件] 翻译指定的语句

安装

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

Laraval 5.*
完成上面的操作后,将项目文件 config/app.php 中的下一行
Illuminate\Translation\TranslationServiceProvider::class, 替换为:
Overtrue\LaravelLang\TranslationServiceProvider::class,

Lumen
在 bootstrap/app.php 中添加下面这行:
$app->register(Overtrue\LaravelLang\TranslationServiceProvider::class);

配置

Laravel

修改项目语言 config/app.php
'locale' => 'zh-CN',

Lumen
在 .env 文件中修改语言:
APP_LOCALE=zh-CN

使用

和正常使用一样,你如果需要额外添加语言项,请在 resources/lang/zh-CN/ 下建立你自己的文件即可,也可以建立同样的文件来替换掉默认的语言部分。

添加自定义语言项
例如创建文件resources/lang/zh-CN/demo.php:

<?php
  return [
   'user_not_exists' => '用户不存在',  
   'email_has_registed' => '邮箱 :email 已经注册过!'
  ];

然后在任何地方:

// 用户不存在echo 
echo trans('demo.user_not_exists'); 
// 邮箱 anzhengchao@gmail.com 已经注册过!
trans(
  'demo.email_has_registed', 
  ['email' => 'anzhengchao@gmail.com']
);

替换掉默认的语言项
我们假设想替换掉密码重置成功的提示文字为例,创建 resources/lang/zh-CN/passwords.php

<?php
return [
  'reset' => '您的密码已经重置成功了,你可以使用新的密码登录了!'
];

只放置你需要替换的部分即可。

举个例子:

$ php artisan lang:publish zh-CN,zh-HK,th,tk