Ding 发表于 2012-3-28 16:41:38

关于language 国际化的一些问题

本帖最后由 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了$autoload['language'] = array('info');是需要 从新load一个 config么?
也就是 修改config中的$config['language']吗??
刚 拉起了 群 224513930 有兴趣的朋友 一起讨论 一起学习啊~

netputer 发表于 2012-3-28 17:19:36

其实 CodeIgniter 的 Views 是可以直接调用 $this->lang->line('views_signup_username'); 的~

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

Ding 发表于 2012-3-28 17:27:31

netputer 发表于 2012-3-28 17:19 static/image/common/back.gif
其实 CodeIgniter 的 Views 是可以直接调用的~

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

感谢, 后来试了试 确实可以~:victory:

Ding 发表于 2012-3-29 17:04:17

upupupup~

Ding 发表于 2012-3-30 09:16:54

没有人 知道么第三个问题:Q:Q

大道达人 发表于 2012-3-30 10:53:03

$this->config->set_item('item_name', 'item_value');
通过这个进行修改配置值

Ding 发表于 2012-3-30 11:07:37

大道达人 发表于 2012-3-30 10:53 static/image/common/back.gif
$this->config->set_item('item_name', 'item_value');
通过这个进行修改配置值
谢谢啦~

$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'););

Ding 发表于 2012-3-30 13:44:18

貌似也只能如楼上仁兄所说了。。

大道达人 发表于 2012-10-13 10:08:22

btwCI语言包可以加个hook

/**
* 定义 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');



页: [1]
查看完整版本: 关于language 国际化的一些问题