在Thinkphp 中怎么实现中英文切换啊? 10

TP手册中说在需要在zh-cn/common.php输入如下内容<?phpreturnarray('welcome'=>'你好','lan'=>'简体中文',);?>en... TP手册中说在需要在
zh-cn/common.php
输入如下内容
<?php
return array(
'welcome'=>'你好',
'lan'=>'简体中文',
);
?>

en-us/common.php
输入如下内容
<?php
return array(
'welcome'=>'how are you fine?',
'lan'=>'english',
);
?>

但是如果内容都是从数据库中取出的,要怎么分配?
例如:数据库中有个新闻表,字段有id、content en_content三个字段,content存放中文,en_content存放英文,前台内容一条条遍历出来,要怎么分配才可以中英切换???
展开
 我来答
shenkebiao
2014-03-17 · TA获得超过605个赞
知道小有建树答主
回答量:367
采纳率:100%
帮助的人:151万
展开全部
我用一位数组写个实例,看懂了再自己去改:
//数组
$info = array(
'id' => '1',
'content' => '你好',
'en_content' => 'welcome'
);
//循环对比
foreach($info as $key => $value){
if ( ereg('['.chr(0xa1).'-'.chr(0xff).']', $value) ){ //判断是不是纯中文,是为 true
//是纯中文时,去相应的语言包中做对比,查找当前的中文 $value 对应的英文是什么,并把找到的英文替换掉当前这个中文
$info[$key] = '匹配成功后的英文';
}elseif ( ereg('[a-zA-Z]', $value) ){ //判断是不是纯英文,是为true
//是纯英文时,去相应的语言包中做对比,查找当前的英文 $value 对应的中文是什么,并把找到的中文替换掉当前这个英文
$info[$key] = '匹配成功后的中文';
}else{
// echo '既不是纯中文,也不是纯英文,可能有数字混在其中,或者是id 值';
}
}
return $info; //最后直接返回$info 即为中英文互换后的数组
匿名用户
推荐于2018-05-04
展开全部
  在新闻的Model里做处理 _after_select和_after_find 检测当前的语言;
  如果是英文,就用en_content代替content 模板中输出都是content。
  Model参考代码如下:
  protected function _after_select(&$result,$option=''){
  foreach($result as &$value){
  if(LANG_SET == 'en-us'){
  $value['content'] = $value['en_content'];
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
斯微安5
2014-03-14 · TA获得超过238个赞
知道小有建树答主
回答量:852
采纳率:100%
帮助的人:292万
展开全部
一般的话会设置一个session['lang']保存当前的语言类型!所有的操作根据这个session['lang']中的类型进行操作或者调用标准!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式