Thinkphp翻译接口的使用及其优化
时间 :
2020-08-19,16:53:44
编辑 ::ADMIN
❝本文给大家提供一个免费的翻译接口,有空时可以试试还是很秀的哈!
❞
前言
项目中必要的数据是需要写语言包的,就像那种几百年不变的数据,但是有一类数据就是在项目的运行的过程中就在一直变化。
对于这样的数据我们写成语言包显然是不合适的,所以我们就需要借助翻译接口来实现我们的需求了。
一、翻译接口简单介绍
先看一张图吧!看一下这个翻译接口在我们的项目中如何运用。

这个接口总共有4个参数,分别为a、f、t、w。
这四个参数分别的意思为,a是固定的值就是fy。
f指的是翻译的语种。
t指的是需要翻译成我们需要的语种。
w指的是需要翻译的数据。
二、项目实战
项目需求就是把左边的框出来的在切换语言后跟随这语言变动。首先说明一下,在上边的这些文字不是手动写上去的,html文件也是不存在的。是在数据库注释里边配置的。
下图就是我们的数据库创建。为什么这么创建,这样创建有什么好处,我就不提了,每个团队都有自己的想法哈!
接着我们来到正题
使用的代码也就这点,接口地址就是上边postman里边的地址,后边只需要传输一个需要翻译的数据即可。
本文实现的数据就是上图左侧的文字,也就是我们从数据库中把注释读出来然后根据一定的规则把这个名字就直接作为添加或者修改时的列即可。
那么就只需要把这个注释直接给追加到翻译接口后边即可。给你提供一个php发起curl请求的代码
<span style="display: block; background: url(https://my-wechat.mdnice.com/point.png); height: 30px; width: 100%; background-size: 40px; background-repeat: no-repeat; background-color: #272822; margin-bottom: -7px; border-radius: 5px; background-position: 10px 10px;"></span><span class="hljs-keyword" style="color: #f92672; font-weight: bold; line-height: 26px;">public</span> <span class="hljs-function" style="line-height: 26px;"><span class="hljs-keyword" style="color: #f92672; font-weight: bold; line-height: 26px;">function</span> <span class="hljs-title" style="color: #a6e22e; font-weight: bold; line-height: 26px;">translateRequest</span><span class="hljs-params" style="line-height: 26px;">($url, $data=array<span class="hljs-params" style="line-height: 26px;">()</span>)</span></span>{<br><br> $ch = curl_init();<span class="hljs-comment" style="color: #75715e; line-height: 26px;">//初始化</span><br> <span class="hljs-comment" style="color: #75715e; line-height: 26px;">//curl_setopt();//设置</span><br> <span class="hljs-comment" style="color: #75715e; line-height: 26px;">//设置</span><br> curl_setopt($ch,CURLOPT_URL,$url); <span class="hljs-comment" style="color: #75715e; line-height: 26px;">//需要获取的 URL 地址</span><br> curl_setopt($ch,CURLOPT_HEADER,<span class="hljs-number" style="line-height: 26px;">0</span>); <span class="hljs-comment" style="color: #75715e; line-height: 26px;">//启用时会将头文件的信息作为数据流输出, 此处禁止输出头信息</span><br> curl_setopt($ch,CURLOPT_RETURNTRANSFER,<span class="hljs-number" style="line-height: 26px;">1</span>); <span class="hljs-comment" style="color: #75715e; line-height: 26px;">//获取的信息以字符串返回,而不是直接输出</span><br> curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,<span class="hljs-number" style="line-height: 26px;">30</span>); <span class="hljs-comment" style="color: #75715e; line-height: 26px;">//连接超时时间</span><br> curl_setopt($ch, CURLOPT_ENCODING, <span class="hljs-string" style="color: #a6e22e; line-height: 26px;">'gzip'</span>);<br><br> <span class="hljs-comment" style="color: #75715e; line-height: 26px;">//避免https 的ssl验证</span><br> curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, <span class="hljs-keyword" style="color: #f92672; font-weight: bold; line-height: 26px;">false</span>);<br> curl_setopt($ch, CURLOPT_SSLVERSION, <span class="hljs-keyword" style="color: #f92672; font-weight: bold; line-height: 26px;">false</span>);<br> curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, <span class="hljs-keyword" style="color: #f92672; font-weight: bold; line-height: 26px;">false</span>);<br><br> <span class="hljs-keyword" style="color: #f92672; font-weight: bold; line-height: 26px;">if</span>($data){<br> curl_setopt($ch, CURLOPT_POST, <span class="hljs-number" style="line-height: 26px;">1</span>); <span class="hljs-comment" style="color: #75715e; line-height: 26px;">//post请求</span><br> curl_setopt($ch, CURLOPT_POSTFIELDS, $data);<span class="hljs-comment" style="color: #75715e; line-height: 26px;">//post参数</span><br> }<br><br> <span class="hljs-comment" style="color: #75715e; line-height: 26px;">//执行</span><br> $data = curl_exec($ch);<span class="hljs-comment" style="color: #75715e; line-height: 26px;">//执行 不输出 内容返回给它</span><br> <span class="hljs-comment" style="color: #75715e; line-height: 26px;">//判断是否请求成功</span><br><br> <span class="hljs-keyword" style="color: #f92672; font-weight: bold; line-height: 26px;">if</span>(curl_errno($ch)){<span class="hljs-comment" style="color: #75715e; line-height: 26px;">//错误码</span><br> <span class="hljs-keyword" style="color: #f92672; font-weight: bold; line-height: 26px;">echo</span> <span class="hljs-string" style="color: #a6e22e; line-height: 26px;">'curl error: '</span>.curl_error($ch);<span class="hljs-comment" style="color: #75715e; line-height: 26px;">//错误信息</span><br> }<br><br> $response = curl_getinfo($ch);<br><br> <span class="hljs-keyword" style="color: #f92672; font-weight: bold; line-height: 26px;">switch</span>($response[<span class="hljs-string" style="color: #a6e22e; line-height: 26px;">'http_code'</span>]){<br> <span class="hljs-keyword" style="color: #f92672; font-weight: bold; line-height: 26px;">case</span> <span class="hljs-number" style="line-height: 26px;">200</span>:<br> <span class="hljs-keyword" style="color: #f92672; font-weight: bold; line-height: 26px;">return</span> $data;<br> <span class="hljs-keyword" style="color: #f92672; font-weight: bold; line-height: 26px;">break</span>;<br> <span class="hljs-keyword" style="color: #f92672; font-weight: bold; line-height: 26px;">default</span>:<br> <span class="hljs-keyword" style="color: #f92672; font-weight: bold; line-height: 26px;">exit</span>(<span class="hljs-string" style="color: #a6e22e; line-height: 26px;">'程序异常'</span>);<br> }<br><br> curl_close($ch);<span class="hljs-comment" style="color: #75715e; line-height: 26px;">//关闭</span><br> }<br>
400电话优惠
热门新闻
- 皖智创谷,优启未来
- 东莞百度快照优化,快速提升排名
- 文案二次创作工具在线提升文案创···
- 次要于,次之
- 胜芳网站SEO,高效优化,提升···
- .NET微信开发之公众号消息处···
- 使用AI的描写算抄袭吗?解读人···
- AI写作伴侣-为创作赋能,让写···
- 新医二附院,品质医疗先锋
- 烘干机机械通用网站模板
- 聊天也能赚钱,这是真的,做好的···
- linux ext3是什么
- linux命令通配符有哪些
- 做SEO招商,让你的品牌轻松突···
- 前端挑战 - 十二月魅力我的标···
- SEO核心要素:关键词、内容、···
- 有写文章的软件,让创作变得更加···
- 外贸SEO:开启全球电商的新机···
- 建站之星与建站宝盒:多端建站及···
- 这家淘宝店铺能卖多少种不同产品···
- 抖音里能实时观看直播吗?
- 掌握Swoole的协程技术:轻···
- 新站快速收录,优化策略一步到位
- 轻松创作,效率神器,一触即发!
- “天天特价销量几何?活动限时一···
- 阳光SEO导航
- 淘宝刷评价对账号有影响?违法吗···
- 舆情动态速览,关注焦点集中
- 搜索引擎SEO优化服务:提升品···
- 影视网站SEO优化:打造流量高···
- 建站服务器使用指南:新手必看服···
- 【夜莺监控】海王——Categ···
- 邵阳企业网站优化策略:提升在线···
- 一键点击,轻松推广!
- 优帮云,打造一站式网站建设平台···
- 如何制定视频号分成计划?
- 网站不展现?这5个技巧,让你的···
- 昆明网络推广专家
- 如何使用虚拟局域网(VLAN)···
- 百度SEO优化软件价格解析:如···
- 高端网站设计:创意与技术的完美···
- 如何利用Windows Ser···
- OpenAI官网中文版电脑版免···
- 佛山网站建设定制热线及专业团队···
- 百度热榜新锐榜,人气瞬息万变
- vscode插件安装在哪
- win10怎么显示文件后缀名
- 淘宝团购平台叫什么?操作流程是···
- 网站快速收录与内容营销成效关联···
- 如何通过在线SEO外链提升网站···