用户
 找回密码
 入住 CI 中国社区
搜索
查看: 1158|回复: 1
收起左侧

[讨论/交流] 【国际化相关】文档解释改进和国际化实现方式

[复制链接]
发表于 2014-8-19 17:57:49 | 显示全部楼层 |阅读模式
本帖最后由 mini 于 2014-8-19 22:30 编辑

1、关于“语言类”的文档,有段话是不是要改进一下呢,请管理员确认下。文档地址:语言类
修改前:filename是你要加载的语言文件名 (不要带扩展名), language 是那个文件中包含的语言 (比如,英语)。如果没有第二个参数,将会使用 application/config/config.php的缺省语言。
修改后:filename是你要加载的语言文件名 (不要带_lang.php), language 是那个文件中包含的语言 (比如,英语)。如果没有第二个参数,将会使用 application/config/config.php的缺省语言。

我刚看文档的时候就没有带扩展名,但是报错了,根据错误信息发现应该连“_lang”都不用带。autoload.php中的注释写的比较明确。所以是不是要修改下呢?

  1. | NOTE: Do not include the "_lang" part of your file.  For example
  2. | "codeigniter_lang.php" would be referenced as array('codeigniter');

复制代码



2、请教大家个问题,现在项目要做国际化,是通过用户IP、浏览器语言等算出要显示的语言,那么怎么在CI里动态加载对应的语言呢?
我第一个想到的是用hooks来实现,但是pre_system和pre_controller都不可以动态load语言。现在想到的只能是在config中自定也方法
来实现了,但这样感觉很不方便,也非常不规范。大家是怎么实现的呢?

谢谢。
 楼主| 发表于 2014-8-19 22:25:20 | 显示全部楼层
第二个问题已经解决了,还是用 hooks 的方式来实现的,是在 post_controller_constructor 实践实现的,在controller初始化后,方法执行前load指定的lang文件就可以了。

本版积分规则