laravel 多语言设置
2019年10月17日1使用zh-CN.json 自定义配置文件
这是 Laravel 提供的本地化特性,使用 __()
函数来辅助实现。按照约定,本地化文件存储在 resources/lang
文件夹中,为 JSON 格式。在 config/app.php
文件中,我们设置了:
1 |
'locale' => 'zh-CN', |
对应翻译文件就是 resources/lang/zh-CN.json
,需新建此文件:
resources/lang/zh-CN.json
1 2 3 4 5 |
{ "Login": "登录", "Password": "密码", "Remember Me": "记住我" } |
2使用中文语言包
会有很多人会遇到翻译 Laravel 自带模板的问题,所以我们无需自己一个个去翻译,这种通用的问题找找扩展包来处理即可。
我们将使用 Laravel Lang 项目来实现,此项目支持了 52 个国家的语言,使用以下命令安装:
1 2 |
$ composer require "overtrue/laravel-lang:~3.0" #5.7使用 $ composer require overtrue/laravel-lang:~6.0 #9.0使用 |
完成上面的操作后,将项目文件 config/app.php
中的下一行
1 |
Illuminate\Translation\TranslationServiceProvider::class, |
替换为:
1 |
Overtrue\LaravelLang\TranslationServiceProvider::class, |
Laravel Lang 同自定义语言包一样,都是根据 config/app.php
里 locale
的选项来选择语言的。
值得一提的是,如果你想修改扩展包提供的语言文件,可以使用以下命令发布语言文件到项目里:
1 |
$ php artisan lang:publish zh-CN |