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

[已解决] 关于language 国际化的一些问题

[复制链接]
发表于 2012-3-28 16:41:38 | 显示全部楼层 |阅读模式
本帖最后由 Ding 于 2012-3-31 14:11 编辑

使用 CI Language  手册:http://codeigniter.org.cn/user_guide/libraries/language.html
现在有个 问题  如下
1.比如 我在Controller 下调用了$this->lang->line('views_signup_username');
是需要将得到的数据 封装到 $data 中 然后传到前台么?  那样代码量 略大啊。。。
2.如过有header 和 footer又如何用呢?
3.如果我想用户通过点击 改变当前代码,已经autoload了
PHP复制代码
$autoload['language'] = array('info');
复制代码
是需要 从新load一个 config么?
也就是 修改config中的$config['language']吗??
刚 拉起了 群 224513930 有兴趣的朋友 一起讨论 一起学习啊~
发表于 2012-3-28 17:19:36 | 显示全部楼层
其实 CodeIgniter 的 Views 是可以直接调用
PHP复制代码
$this->lang->line('views_signup_username');
复制代码
的~

最后一个问题不太清楚……
 楼主| 发表于 2012-3-28 17:27:31 | 显示全部楼层
netputer 发表于 2012-3-28 17:19
其实 CodeIgniter 的 Views 是可以直接调用  的~

最后一个问题不太清楚……

感谢, 后来试了试 确实可以~  
 楼主| 发表于 2012-3-29 17:04:17 | 显示全部楼层
upupupup~
 楼主| 发表于 2012-3-30 09:16:54 | 显示全部楼层
没有人 知道么  第三个问题
发表于 2012-3-30 10:53:03 | 显示全部楼层
$this->config->set_item('item_name', 'item_value');
通过这个进行修改配置值
 楼主| 发表于 2012-3-30 11:07:37 | 显示全部楼层
大道达人 发表于 2012-3-30 10:53
$this->config->set_item('item_name', 'item_value');
通过这个进行修改配置值

谢谢啦~

PHP复制代码
$this->config->set_item('language', 'chinese_simplified');echo $lang = $this->config->item('language');                
                redirect('home');
复制代码


这样试了下  确实能打出chinese_simplified   但是跳转以后 又改回config.php中原来的配置了   
这个方法改变 好像只是在缓存中修改    redirect 跳转时候又重新加载了config.php 依旧没法解决我的问题啊
发表于 2012-3-30 13:13:40 | 显示全部楼层
这样的话,你通过SESSION来处理吧
当用户点击
把  $this->session->set_userdata('language',this->config->item('language'));
$this->lang->load('加载你的语言配置包', $this->session->userdata('language'););
 楼主| 发表于 2012-3-30 13:44:18 | 显示全部楼层
貌似也只能如楼上仁兄所说了。。
发表于 2012-10-13 10:08:22 | 显示全部楼层
btw  CI语言包可以加个hook
PHP复制代码
 
/**
* 定义 Cier小站针对cier_lang 的 i18n 函数
* @example
* $author = __('ci_author');
* $ci_timestamp = __('ci_timestamp',array(':now' => date(config_item('log_date_format'))));
*/

if ( ! function_exists('__'))
{
    function __($string, array $values = NULL, $lang = NULL)
    {  
        $LANG =& load_class('Lang', 'core');
        $LANG->load('cier');
        $string = $LANG->line($string);
 
        return empty($values) ? $string : strtr($string, $values);
    }  
}
 
/* End of file Common.php */
/* Location: ./system/core/Common.php */
//cier_lang.php
$lang['cier_author'] = 'billzhao';
$lang['cier_timestamp'] = '当前时间 :now';
 
//任务页面调用语言包,只需要
__('cier_author');
 
复制代码



本版积分规则