laravel框架实现中英文双语站

主要思路

添加一个修改默认语言的中间件,根据session中的locale的值,来实现中英文的切换

主要实现流程

添加判断session的中间件

用artisan命令行在网站入口文件同级目录创建中间件

php artisan make:middleware SetLocale

打开app/Http/Middleware/SetLocale.php修改handle方法

public function handle($request, Closure $next){if (Session::has('locale') && in_array(Session::get('locale'), ['en', 'zh'])) {App::setLocale(Session::get('locale'));
//            dd(App::getLocale());} else {App::setLocale('zh-CN');}return $next($request);}

在app/Http/Kernel.php文件中注册中间件

protected $routeMiddleware = [...'setLocale' => SetLocale::class,];

在app/Http/HomeController.php中创建changeLocale方法

public function changeLocale($locale){if (in_array($locale, ['en','zh-CN'])) {session()->put('locale', $locale);}return redirect()->back()->withInput();}

在routes/web.php中,创建切换中英文的路由

Route::get('/changeLocale/{locale}', 'HomeController@changeLocale');

将切换语言 的中间件添加到所有需要切换语言的路由外层

Route::group(['middleware' => ['setLocale']], function() {//切换语言Route::get('/changeLocale/{locale}', 'HomeController@changeLocale');...
});

在模板中设置切换语言的标签

<a href="{{ url('/changeLocale/zh-CN') }}" class="lang-ex" lang="zh-cn" >中</a>/
<a href="{{ url('/changeLocale/en') }}" class="lang-ex" lang="en" >en</a>

在resources/lang中添加语言包,例如英文,创建en/auth.php文件,将中英文对应的翻译写入auth.php文件

return [//首页'Home' => 'Home','website'   =>  'website',
]

中文zh-CN/auth.php对应的配置

return [//首页'Home' => '主页','website' => '官网',
]

在模板中应用

<h4>{{trans('auth.Home')}}</h4>

中英文效果

原帖参考地址

参考地址1
参考地址2

Laravel框架实现中英文双语站相关推荐

  1. 制作中英文双语(多语)网站教程, 0基础1小时WordPress建站视频课程 (一步步建站, 一步也不少)

    全套视频课程简介: 中英文双语网站(多语言网站)意思是:一个网站带有二种或多种语言版面的网站类型,可以同时满足不同语言和不同国家用户浏览需求.这套零基础1小时的WordPress 课程将详细讲解如何自 ...

  2. Laravel框架与ThinkPHP一些不同点

    此文参考链接:点这里 首先这两个框架其实都接触过,不过用的thinkphp较多,而自己也没好好总结过,今天看了一篇文章感觉不错,写的是一些关于两个框架之间使用的不同 1.渲染模板方式的不同: lara ...

  3. php 框架源码分析,Laravel框架源码解析之模型Model原理与用法解析

    本文实例讲述了Laravel框架源码解析之模型Model原理与用法.分享给大家供大家参考,具体如下: 前言 提前预祝猿人们国庆快乐,吃好.喝好.玩好,我会在电视上看着你们. 根据单一责任开发原则来讲, ...

  4. php 双语切换,怎么用wordpress建中英文双语及多语言切换的网站

    有很多朋友都想建一个中英文双语及多语言的网站,尤其是外贸行业.这其实对wordpress来说,并不是难事. 建立多语言切换的网站有两种方式,一种是子域名形式,另一种则是子目录形式.而以这两种形式建站, ...

  5. 使用dede系统建设中英文双语网站详解

    由于公司要我做一个中英文双语的企业站,而我已经使用DEDE系统把中文页面( http://www.heatpress123.net )都做好了而且已经有了排名所以想在原先的基础上添加一个英文页面,我也 ...

  6. php larval框架运行环境,4种Windows系统下Laravel框架的开发环境安装及部署方法详解...

    1.准备工作 1.1PHP集成环境 这里我们使用的是XAMPP,XAMPP是一个功能强大的建站集成软件包,采用一键安装的方式,包含PHP7.0.Mysql.Tomcat等.最新版下载地址:PHP 5. ...

  7. 怎么用wordpress建中英文双语及多语言切换的网站

    怎么用wordpress建中英文双语及多语言切换的网站 发布时间:2015/11/30 WordPress技术博客 基础教程 2954 0 有很多朋友都想建一个中英文双语及多语言的网站,尤其是外贸行业 ...

  8. 最新后盾网Laravel框架重入门到实战 Laravel博客项目实战 陈华主讲 包含课件源码

    老师介绍 陈华,PHP明星讲师,大学生演讲网创始人,2010年开始开发整站项目,精通Laravel,Yii框架. 简 介 本套课程是一套以项目实战为主的Laravel5.2实战开发教程,是真正意义上的 ...

  9. php模拟关注微博,PHP基于laravel框架获取微博数据之一 模拟新浪微博登录

    参考资料: http://www.csuldw.com/2016/11/10/2016-11-10-simulate-sina-login/ http://blog.csdn.net/fly_leop ...

  10. php rsa2 微博,PHP 基于laravel框架获取微博数据之一 模拟新浪微博登录

    模拟新浪微博登录是抓取新浪数据的基础,网上的参考资料大多介绍的是用Python开发,有一篇使用php模拟登录的资料还是在phpcms中实现的,也没有太深入分析. PS:网上资料来源比较乱,不知道php ...

最新文章

  1. get传递中文产生乱码的解决方式汇总
  2. 关于Python的装饰器(1)
  3. 开课吧python小课值得么-领导想提拔你,从来看的不是努力!
  4. smartarm3250 performance
  5. mysql 5.6 主从同步配置_Mysql 5.6主从同步配置
  6. 练习系列 - 5、求子数组的最大和
  7. 大神级的布线,人家攻城狮是如何做到的?
  8. springboot ---坑 tomcat部署springboot 一直运行不起来
  9. (并查集)小希的迷宫
  10. javascript脚本语言_10分钟快速掌握Javascript核心特性
  11. Git笔记(18) 搭建服务器Git
  12. 小程序真机调试访问不了接口_24小时从0到1开发阴阳师小程序
  13. struts2 Unable to load configuration
  14. luis soares mysql,mysql访问报错如下
  15. 【开源】EasyDarwin编译全过程:Linux系统下编译运行最新版EasyDarwin的步骤介绍
  16. 域服务器安全策略应用,ad域服务器组策略命令
  17. yocto 编译与bb的语法
  18. ios动态效果实现翻页_iOS动画--翻页动画
  19. UserAgent 解析
  20. 少儿Python视频课程A级简介

热门文章

  1. 【每周一本书】之《解码者:艾伦·图灵传》:解码计算机之父、人工智能奠基者的谜样人生
  2. 自动控制原理学习笔记(三)线性定常离散控制系统的数学模型
  3. 安卓音量设置流程之MasterVolume
  4. 【自用】C语言15个简单程序
  5. 山东大学计算机学院实验室,计算机学院平稳推进实验室各项工作
  6. iCode代码托管的一些基本指令
  7. java war 打包、解压命令
  8. 佳博LabelShop模板文件转成佳博打印机指令软件
  9. 前端特效——简单下雪(纯css)
  10. java开发中的各种中间件技术