关于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 有兴趣的朋友 一起讨论 一起学习啊~ 其实 CodeIgniter 的 Views 是可以直接调用 $this->lang->line('views_signup_username'); 的~
最后一个问题不太清楚…… netputer 发表于 2012-3-28 17:19 static/image/common/back.gif
其实 CodeIgniter 的 Views 是可以直接调用的~
最后一个问题不太清楚……
感谢, 后来试了试 确实可以~:victory: upupupup~ 没有人 知道么第三个问题:Q:Q $this->config->set_item('item_name', 'item_value');
通过这个进行修改配置值 大道达人 发表于 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 依旧没法解决我的问题啊
这样的话,你通过SESSION来处理吧
当用户点击
把$this->session->set_userdata('language',this->config->item('language'));
$this->lang->load('加载你的语言配置包', $this->session->userdata('language'););
貌似也只能如楼上仁兄所说了。。 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]