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