目前见到的网站多语言支持有两种:

  1. 两个视图,即制作两个版本的视图文件。比如项目分两个模块,样式什么的都一样,视图不一样。

  2. 通过存session,记录当前语言版本,然后调用不同的文字配置文件,显示不同的语言文字。如thinkphp的多语言实现方法。

其实在一开始看到thinkphp的源码是通过session实现时,我就有想过通过另一种方法,有点结合两个方法的意思。

第一种方法分两个模块,但是controller什么的都一样,修改起来就很麻烦,两个模块都得一起改动。

第二种方法,虽然现在我们网站是这样做的,但是视图里都是变量,文字全存在配置文件里,看着变扭,修改的时候通过文字找位置也麻烦,所有文字全部存变量的形式在配置文件中,取名也麻烦

我自己的想法是借用thinkphp的多语言实现方法,只是最后不读取文字配置文件,而是在渲染视图时,先判断语言版本,再渲染对应的视图。虽然修改视图两个都需要改,但是整体我感觉更舒服容易维护。


class IndexController extends Controller
{public function index(){if(session('lang') == 'us'){return $this->fetch('index_us');}else{return $this->fetch('index_cn');}}
}//一劳永逸的方法是修改fetch源代码,在fetch()内部进行判断,然后自动组成对应语言的视图文件名。简单举例:class Controller
{//原函数/*protected function fetch($template = '', $vars = [], $replace = [], $config = []){return $this->view->fetch($template, $vars, $replace, $config);}*///修改protected function fetch($template = '', $vars = [], $replace = [], $config = []){$lang = session('?lang') ? session('lang') : 'cn'; $template .= '_'.$lang;return $this->view->fetch($template, $vars, $replace, $config);}
}

因为功力尚浅,得出如此结论,可能随着阅历提升,会找到更好的办法,仅此作为学习记录

关于网站多语言的实现相关推荐

  1. .net2.0网站多语言

    asp.net 2.0中的App_GlobalResources可以用来解决本地化的问题,程序会根据浏览器的语言首选项自动判断显示出本地化的界面. 首先在App_GlobalResources新建re ...

  2. Asp,PHP,JSP,.Net几种网站开发语言比较

    导读: ASP全名Active Server Pages,是一个WEB服务器端的开发环境,利用它可以产生和执行动态的.互动的.高性能的WEB服务应用程序.ASP采用脚本语言VBScript(Java ...

  3. 主流网站开发语言 ASP ASP.NET JSP PHP CGI

    主流网站开发语言之ASP: ASP是微软(Microsoft)所开发的一种后台脚本语言,它的语法和Visual BASIC类似,可以像SSI(Server Side Include)那样把后台脚本代码 ...

  4. 如何实现网站多语言版本

    本文转自: http://blog.csdn.net/yzhz/archive/2008/01/15/2045295.aspx 如何实现网站多语言版本 随着国际化的深入,越来越多的网站提供多语言版本给 ...

  5. 一个在线让你的网站多语言化的工具

    转自:http://thw.029ftp.com/blogview.asp?logID=509 你的网站浏览者能在9 种语言中翻译正文或者整个网页的文章,或者他们能迅速把你的页翻译成他们的语言. 给你 ...

  6. 海外跨境电商商城源码-进出口电商平台网站-多语言多商户平台

    欢迎探讨,名片交流 一.海外跨境电商系统源码包括以下几个部分: 前端:React框架.Bootstrap 后端:Node.js,Express框架.NoSQL数据库 支付系统:Stripe.PayPa ...

  7. python做公司网站_网站的建设_ 网站建设那个好_ _我要做个网站_Python语言,绘制彩虹场景...

    在糊口中,我们总会碰着各类百般的坚苦,我们都能听到勉励我们的话,风雨之后才气见彩虹! 本日就和各人分享一下,利用编程代码去绘制我们心中的彩虹! 利用Python语言编程,网站建设哪家好公司,来绘制彩虹 ...

  8. 建设网站多语言版本,费用如何计算?

    网站建设公司在进行网站报价时,除非客户有特别提出,不然一般情况下通常只有针对单一语言版本提出报价,例如繁体中文版.如果还需要另外建置简体中文版或英文版,此时就会有额外的费用产生.许多人会有这样的疑问: ...

  9. 网站多语言设计的一些思路。框架实现多国语言。

    介绍一个PHP 多国语框架 v5.1:https://lang-php.com/?lang=zh-CN 有时候做网站的时候需要考虑多语言设计,比如外贸网站.即便是简体中文和繁体中文网站设计也不是简单的 ...

最新文章

  1. Syncthing源码解析 - 第三方库
  2. 第十六届全国大学生智能汽车竞赛全国总决赛承办申请汇报
  3. na na na na na ~
  4. docker 查看已安装容器_WIN7下安装Docker容器
  5. 虚拟桌面分屏_桌面中的灭霸 三星C49HG90 32:9超带鱼屏体验
  6. Spring框架面试工作必备锦囊 Java框架-Spring
  7. mysql 数据库异常_Mysql连接数据库异常汇总【必收藏】
  8. centos7中yum源安装mysql_centos7下使用yum安装mysql
  9. 【Python3 爬虫】14_爬取淘宝上的手机图片
  10. 启用IIS服务(运行中输入inetmgr打不开IIS管理器的解决办法)
  11. M1芯片,PS2022版真的来了。Photoshop 2022 for Mac中文版介绍安装教程,支持Monterey系统
  12. linux———/bin/sh、 /bin/bash、 /bin/dash的区别
  13. 数字人民币真的来了 六年历程全回顾
  14. DXP改变字体的方法
  15. js 公众号 获取code_微信公众号开发之网页授权登录及code been used 解决!
  16. python后端开发学路线_【后端开发】Python要学哪些内容?Python程序员学习路线图...
  17. 数字化时代,企业应该如何看待商业智能BI
  18. ILRuntime篇:介绍并下载运行官方案例
  19. 微信购物直播商城渠道定制开发
  20. 企业微信 引入微信api扫一扫(vue)【h5页面调用微信jssdk】

热门文章

  1. .aspx文件与.aspx.cs文件的关系(转载)
  2. Spark面试题汇总及答案(推荐收藏)
  3. oracle 执行语句显示2,Oracle执行语句跟踪(2)——使用10046事件实现语句追踪
  4. 【人工智能AI大数据】AI 的未来:ChatGPT 世界中值得关注的 4 大趋势
  5. 计算机图形学顶级杂志、会议、期刊
  6. 用“大数据”完善征信体系
  7. 番茄学习法——亲测超级好用
  8. cdh 安装 agent失败
  9. springboot+mybatis+thymeleaf学习一个简单的管理系统
  10. C语言中的双感叹号的作用