Laravel - 中文语言包

本地化#

环境:使用 php artisan make:auth 用户认证脚手架

登录表单是英文版本的,打开模板文件,此模板文件是我们刚刚使用 make:auth 命令生成的:

    resources/views/auth/login.blade.php

可以看到很多 __() 函数的调用:

<div class="card-header">{{ __('Login') }}</div>
<label for="password" class="col-md-4 col-form-label text-md-right">{{ __('Password') }}</label>
{{ __('Remember Me') }}

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

'locale' => 'zh-CN',

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

resources/lang/zh-CN.json

{
    "Login": "登录",
    "Password": "密码",
    "Remember Me": "记住我"
}

再次刷新登录页面,可以看到翻译的内容:

中文语言包#

会有很多人会遇到翻译 Laravel 自带模板的问题,所以我们无需自己一个个去翻译,这种通用的问题找找扩展包来处理即可。

我们将使用 Laravel Lang 项目来实现,此项目支持了 52 个国家的语言,使用以下命令安装:

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

安装完成后刷新页面,完美翻译:

Laravel Lang 同自定义语言包一样,都是根据 config/app.phplocale 的选项来选择语言的。

值得一提的是,如果你想修改扩展包提供的语言文件,可以使用以下命令发布语言文件到项目里:

$ php artisan lang:publish zh-CN
本作品采用《CC 协议》,转载必须注明作者和本文链接
老哥以后是要做 CTO 的人,这些技术怎么能不会呢?
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。