位置: 编程技术 - 正文

CodeIgniter多语言实现方法详解(coded language)

编辑:rootadmin

推荐整理分享CodeIgniter多语言实现方法详解(coded language),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:codeigniter中文手册,coded language,code vein语言设置,codeigniter中文手册,coded language,code vein语言设置,codeigniter 教程,coded language,内容如对您有帮助,希望把文章链接给更多的朋友!

本文实例分析了CodeIgniter多语言实现方法。分享给大家供大家参考,具体如下:

CI应用目录下有一个language语言包目录,用来配置多种不同的语言。语言的配置位于config文件中,配置格式如下:

定义语言文件

language下有个空的english目录,即上面定义的系统默认语言目录,系统会从该目录加载语言包文件。如果要定义不同的语言包,如zh_cn,则创建zh_cn目录并配置相应语言包文件即可。需要注意的是,语言文件的后缀必须为_lang.php,语言翻译通过数组的键值对来实现,为防止出现重复的键名,可以为键名增加统一的前缀。

配置的方式可参考下面:

语言包的使用

使用语言包之前需要先加载语言包,加载和使用方式如下:

可以说语言包的使用相当简单,前不久也做了个台湾版的系统,顺便说下CI中的语言包的使用及需要注意的问题。

1、$config['language'] 直接配置成 zh_cn 会怎么样?

CodeIgniter多语言实现方法详解(coded language)

系统中有一些默认的语言包位于system/language/english目录下,当使用系统中提供的一些类报错时会加载对应的语言包。此时系统会先到language/zh_cn目录下去查找,然后去system/language/zh_cn目录下查找,都找不到就提示找不到语言包的错误。所以若更改了language配置,最好拷贝system/language/english下的文件到对应的语言目录下。

这里看起来有点奇怪,为什么不是这种思维:先到language/zh_cn目录下去找,找不到就到system/language/english目录下去找。叫english可能不合适,应该称呼为系统默认的语言包。

2、是否需要使用语言包?

在某个系统中发现这样子的情况, 有些错误提示用的语言包,有些直接用的中文,可能因为多人开发的原因,键的命名也不太规范,经常需要去对比对应的语言文件,导致程序阅读起来相对麻烦,而中文的则没该问题,个人在系统中使用语言包也觉得有点麻烦。所以,不需要考虑多语言的程序尽量还是不要使用语言包的好。

3、如何自动检测语言包?

通常情况下可以根据浏览器的语言类型来判断,PHP中的$_SERVER['HTTP_ACCEPT_LANGUAGE']可以获取到该值,然后根据字符串分隔或者正则匹配等方式即可获取到客户端浏览器默认语言类型。获取到之后通过设置即可。

关于是否确实使用了语言包,可以重写lang函数,带^_^即为使用了语言包,参考如下:

很多情况下多语言的实现都是通过数组的形式来实现,还有一些是.mo的格式,ln多语言的实现方式,php中需要php_gettext扩展支持,详情可查阅相关资料。

更多关于CodeIgniter相关内容感兴趣的读者可查看本站专题:《codeigniter入门教程》和《CI(CodeIgniter)框架进阶教程》

希望本文所述对大家基于CodeIgniter框架的PHP程序设计有所帮助。

CodeIgniter配置之database.php用法实例分析 本文实例分析了CodeIgniter配置之database.php用法。分享给大家供大家参考,具体如下:CodeIgniter的数据库配置文件位于application/config/database.php,该文件中定

CodeIgniter钩子用法实例详解 本文实例讲述了CodeIgniter钩子用法。分享给大家供大家参考,具体如下:CodeIgniter执行流程图中有7个椭圆的框,这表示在执行的过程中埋了7个钩子。那

CodeIgniter自定义控制器MY_Controller用法分析 本文实例讲述了CodeIgniter自定义控制器MY_Controller用法。分享给大家供大家参考,具体如下:Codeigniter所有的控制器都必须继承CI_Controller类,但CI_Controller

标签: coded language

本文链接地址:https://www.jiuchutong.com/biancheng/288197.html 转载请保留说明!

上一篇:CI(CodeIgniter)模型用法实例分析(cgtrader模型)

下一篇:CodeIgniter配置之database.php用法实例分析(codeigniter 教程)

  • 企业所得税年报申报时间
  • 车保保险合同
  • 2021年9月个税申报截止时间
  • 现金销售收入是净收入吗
  • 企业所得税预缴少申报案例
  • 生产车间安装监控的目的
  • 公司账户被法院冻结了多久可以恢复
  • 养老保险跨年度可以补缴吗
  • 子女教育专项附加扣除是什么意思
  • 医院收到卫生局补助会计分录怎么写
  • 分公司帮总公司付款怎么做分录
  • 安装工程劳务合同
  • 金融保险定义
  • 餐饮业现金流
  • 网络共享每次都要输入密码
  • 在Win10系统中卸载最近更新的补丁并重启电脑
  • 承兑交单是什么的一种
  • 人力资源劳务外包合同
  • 商标转让过程中公司转让
  • linux中tomcat如何启动
  • php去除二维数组重复值
  • php实现上传图片到数据库
  • 工程施工质量罚款措施
  • 直接人工分配按计时工资怎么分
  • 建安混合销售能分开吗
  • 哪些行业可以简易征收增值税
  • 企业将自有房产全部租出去房产税如何征收
  • 房产增值税计算公式2022最新
  • 事业单位包含哪些
  • 进项税额转出余额在贷方怎么处理
  • 供热企业的税收分类编码
  • php实现的浏览器有哪些
  • 管理费用包括哪些会计科目
  • 存货盘盈盘亏的会计处理
  • 同业代付的好处
  • 第二季度企业所得税会减第一季度吗
  • 二季度报表是累计数吗
  • 不动产租赁专票对房产有无影响
  • 购买金税盘是全额抵扣吗
  • 年底进项税额比年初多
  • 固定制造费用属于固定成本吗
  • sqlserver服务请求失败或服务未及时响应
  • java怎么用mysql
  • 残疾人开公司要交税吗
  • 公司减少注册资本的条件和程序
  • 成立业主委员会申请书
  • 金税四期有什么变化
  • 支付定金的账务怎么处理
  • 发票加上税额之后怎么还多了呢
  • 出口不报关账务处理
  • 财产转让收入属于什么收入
  • 收到现金货款怎么处理
  • 注销公司复杂吗?
  • 费用报销单如何粘贴票据
  • win10 tab alt
  • win2003回收站
  • ubuntu gvfs
  • linux系统tar命令
  • win10电脑版微信字体大小怎么设置方法
  • linux中more命令详解
  • linux cat 命令
  • linux中python命令
  • 在ubuntu上安装gcc
  • linux滚动更新是什么
  • windows中复制文件的几种方法
  • linux服务器日志文件在哪里
  • linux虚拟机怎么查看目录
  • windows7更新补丁后蓝屏
  • android开发环境的搭建步骤
  • opengl顶点坐标纹理坐标关系
  • 深入理解新发展理念,推进供给侧结构性改革
  • javaScript parseInt字符转化为数字函数使用小结
  • javascript函数如何定义及其作用
  • js如何判断是否有定时器功能并清除
  • 重庆市地方税务局公告2016年第2号
  • 汽车购置税网上缴纳流程
  • 税务局政务公开目录
  • 北京市社工证报考要求
  • 徐州注销营业执照去哪里
  • 个人所得税优惠政策最新2023年度
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设