Thinkphp3.2.3多语言翻译以及使用百度翻译的示例分析
发表于:2024-11-17 作者:千家信息网编辑
千家信息网最后更新 2024年11月17日,这篇文章将为大家详细讲解有关Thinkphp3.2.3多语言翻译以及使用百度翻译的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、Thinkphp多语言翻
千家信息网最后更新 2024年11月17日Thinkphp3.2.3多语言翻译以及使用百度翻译的示例分析
这篇文章将为大家详细讲解有关Thinkphp3.2.3多语言翻译以及使用百度翻译的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
一、Thinkphp多语言翻译
首先在Common/conf/config.php文件中写入如下内容:
'配置值' //语言包配置 'LANG_SWITCH_ON' => true, // 开启语言包功能 'LANG_AUTO_DETECT' => true, // 自动侦测语言 开启多语言功能后有效 'LANG_LIST' => 'zh-cn,en-us,zh-tw', //必须写可允许的语言列表 'VAR_LANGUAGE' => 'l', // 默认语言切换变量);?>
然后在Common/conf文件夹下新建一个tags.php文件,写入内容:
array('Behavior\CheckLangBehavior'), );?>
当然还要写入自己的语言包文件,在Think/Lang/下面有四个语言包文件,你可以在这四个或新建语言包文都可以,或者你在模块下面新建一个Lang文件夹,比如Home/Lang,在下面新增zh-cn.php,en-us.php等等语言包文件。简体中文语言包可以这样写如下:
"登录",);
英文语言包可以这样写如下:
"Login",);
然后随便在一个页面,写入如下内容:
{$Think.lang._Login}
最后在浏览器访问该页面,即可看到,比如在地址栏输入如下URL:
http://localhost/index.php?l=zh-cnhttp://localhost/index.php?l=en-us
这样就可以看到中英文切换了,大家可以自己试一试。
二、使用百度翻译
我这里说的百度翻译并不是在http://fanyi.baidu.com/这个网址中输入内容点击翻译这样的,这里我是以代码的形式利用CURL进行翻译的。
翻译文件放在/Home/Common/function.php中,内容如下:
'自动检测', 'en' => '英语', 'zh' => '中文', 'cht' => '中文繁体', ); /** * 获取支持的语种 * @return array 返回支持的语种 */ static function getLang() { return self::$Lang; } /** * 执行文本翻译 * @param string $text 要翻译的文本 * @param string $from 原语言语种 默认:中文 * @param string $to 目标语种 默认:英文 * @return boolean string 翻译失败:false 翻译成功:翻译结果 */ static function exec($text, $from = 'zh', $to = 'en') { $url = "http://fanyi.baidu.com/v2transapi"; $data = array ( 'from' => $from, 'to' => $to, 'query' => $text ); $data = http_build_query ( $data ); $ch = curl_init (); curl_setopt ( $ch, CURLOPT_URL, $url ); curl_setopt ( $ch, CURLOPT_REFERER, "http://fanyi.baidu.com" ); curl_setopt ( $ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; rv:37.0) Gecko/20100101 Firefox/37.0' ); curl_setopt ( $ch, CURLOPT_HEADER, 0 ); curl_setopt ( $ch, CURLOPT_POST, 1 ); curl_setopt ( $ch, CURLOPT_POSTFIELDS, $data ); curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 ); curl_setopt ( $ch, CURLOPT_TIMEOUT, 5 ); $result = curl_exec ( $ch ); curl_close ( $ch ); $result = json_decode ( $result, true ); // 出错状态码 999 if ($result ['error']) { return false; } return $result ['trans_result'] ['data'] ['0'] ['dst']; }}?>
大家可以根据自己的需求对其进行修改。
echo Translate::exec ( "大家好","zh","en"); //这里输出是:Hello everyone
这样就翻译成功了。
关于"Thinkphp3.2.3多语言翻译以及使用百度翻译的示例分析"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
语言
文件
内容
多语
语种
中文
篇文章
示例
分析
成功
功能
文件夹
文本
更多
页面
英文
切换
支持
输入
配置
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
上海钊炙网络技术有限公司
网络安全知识竞答 活动方案
因特网是数据库
上海通用软件开发价格实惠
操作系统网络安全怎么设置
数据库中事物的开始
gta在线模式服务器当前不可用
数据库加载redis
网络安全 三句半
山东软件开发公司名录
达梦数据库切换主备
互联网和信息网络技术
服务器配件图
学软件开发哪几个专科学校好
个人网络安全宣传日
游戏软件开发3d
网络安全保险复旦
45什么服务器区
家用服务器可以干什么
刘兵计算机网络技术答案
软件开发对英语
ace元器件目录数据库编辑
租用服务器怎么装系统
小学网络安全短视频
中国邮政软件开发中心领导成员
网络技术学院大逃杀长沙
数据库事务需要加锁吗
成都顶呱呱网络技术公司
qq网络安全
h3c服务器关机一直响怎么回事