双语网站怎么实现?

[复制链接]
查看11 | 回复6 | 2021-1-27 07:03:58 | 显示全部楼层 |阅读模式
我用thinkphp中开启语言包切换,但是en-us.php文件中都是设置的变量而已,那网站中从数据库里取出来的正文部分怎么切换语言?
分 -->
回复

使用道具 举报

千问 | 2021-1-27 07:03:58 | 显示全部楼层
这种内容就要用对应的字段存放翻译后的正文内容了
根据不同的语言配置,显示不同的正文字段里面的内容
比如,content字段是中文,content_en是英文
判断当前使用的语言是英文,就显示content_en,若是中文就显示content
回复

使用道具 举报

千问 | 2021-1-27 07:03:58 | 显示全部楼层
给你个参考,关注中国国际电梯展览会.我开发的.是不是这种的?
在lang下定义语言包en:
returnarray(
'zhxx'=>'Exhibition',
'zhgk'=>'Introduction',
cn下:
returnarray(
'zhxx'=>'展会信息',
'zhgk'=>'展会概况',
模板中调用的时候
就可以了.当然还有一些细节配置需要自己去弄
回复

使用道具 举报

千问 | 2021-1-27 07:03:58 | 显示全部楼层
不好意思,理解错了--.您说的是数据库中的正文部分.我用的很low的方法,解决百度翻译接口,直接翻译出来.但是会给予提示:此内容为软件翻译而来.查看原文请点击.....(中文版的链接)
回复

使用道具 举报

千问 | 2021-1-27 07:03:58 | 显示全部楼层
define("CURL_TIMEOUT",10);
define("URL","http://api.fanyi.baidu.com/api/trans/vip/translate");
define("APP_ID","xxxxx");
define("SEC_KEY","xxxxxx");
//翻译入口
functiontranslate($query,$from='zh',$to='en')
{
if(cookie('think_language')=='en'||I('get.l')=='en'){
$args=array(
'q'=>$query,
'appid'=>APP_ID,
'salt'=>rand(10000,99999),
'from'=>$from,
'to'=>$to,
);
$args['sign']=buildSign($query,APP_ID,$args['salt'],SEC_KEY);
$ret=call(URL,$args);
$ret=json_decode($ret,true);
$result=str_replace('
','
',$ret['trans_result'][0]['dst']);
$result=str_replace('','',$result);
$result=str_replace('
','
',$result);
return$result;
}else{
return$query;
}
}
这是再function里封装的接口方法.直接调用就翻译了
回复

使用道具 举报

千问 | 2021-1-27 07:03:58 | 显示全部楼层
路过学习学习,感谢分享
回复

使用道具 举报

千问 | 2021-1-27 07:03:58 | 显示全部楼层
数据库中需要设置相应的字段取解析对用语种,常规你可以在lang文件包中自己设置,通过L变量检车语言,然后对应输出
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行