Laravel框架实现调用百度翻译API功能示例


Posted in PHP onMay 30, 2019

本文实例讲述了Laravel框架实现调用百度翻译API功能。分享给大家供大家参考,具体如下:

前言

最近在弄的视频下载网站,弄seo是人工去google翻译,然后再保存,这样下去很累啊,然后就想到让程序自己去翻译然后保存不就行了嘛,自己主要把中文的seo搞定就OK了。说干就干,最先去找了google 翻译 api,可惜要绑定信用卡,太麻烦,放弃,然后找到百度翻译API,虽然支持的国外语言不多,但最基本的国家也都有了。ok,开始撸码。

代码说明

使用的是Laravel框架,语言包存放在resources/lang目录下。代码功能主要是读取lang下所有的文件,然后读取指定的文件(zh-CN),所里面的数据循环出来,调用百度API,再将翻译后的结果保存下来。

上码

static function translate($_query,$_src_lang,$_desc_lang){
  #Trans:就是百度提供的PHP类
  $_res  = Trans::translate($_query,$_src_lang,$_desc_lang);
  $_result = @$_res["trans_result"][0]["dst"];
  return $_result;
}
#google 和 百度的不同..
 const LANG=[
  "de"  => "de",
  "en"  => "en",
  "es"  => "spa",
  "fr"  => "fra",
  "it"  => "it",
  "ja"  => "jp",
  "ko"  => "kor",
  "pt"  => "pt",
  "ru"  => "ru",
  "th"  => "th",
  "vi"  => "vie",
  "zh-CN" => "zh",
  "zh-TW" => "cht",
  "id"  => "en",
  "ms"  => "en",
  "my"  => "en",
];
static function startTrans($_trans_name='down.php',$_lang_name='zh-CN'){
  $_lang_dir =  Storage::disk('lang');
  $_dirs   =  $_lang_dir->directories();
  $_transArr =  self::_getSrcTransArr($_lang_name,$_trans_name);
  foreach($_dirs as $_lang){
    #当然,要跳过指定的文件
    if($_lang == $_lang_name){
      continue;
    }
    $_tran_path = "$_lang/{$_trans_name}";
    if(!$_lang_dir->exists($_tran_path)){
      #这里直接touch就行了
      $_lang_dir->copy("template.php",$_tran_path);
    }
    $_trans_file_arr  =  [];
    #下面是翻译工作
    foreach($_transArr as $key=>$_row){
      $_trans_file_arr[$key] = self::translate($_row,self::LANG[$_lang_name],self::LANG[$_lang]);
    }
    #将数组写入文件
    $str=''.PHP_EOL.'return ' . var_export($_trans_file_arr,true).";";
    file_put_contents(resource_path("lang/{$_tran_path}"), $str);
  }
}
#读取指定文件数组
private static function _getSrcTransArr($_dir_name,$_trans_name){
  $_src_file =  Storage::disk('lang')->files($_dir_name);
  $_out_data =  [];
  foreach($_src_file as $_file){
    if(stripos($_file,$_trans_name)!==false){
      $_out_data = include_once (resource_path("lang/{$_file}"));
      break;
    }
  }
  return $_out_data;
}

希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。

PHP 相关文章推荐
PHP目录函数实现创建、读取目录教程实例
Jan 13 PHP
php生成缩略图填充白边(等比缩略图方案)
Dec 25 PHP
ThinkPHP之用户注册登录留言完整实例
Jul 22 PHP
phpQuery让php处理html代码像jQuery一样方便
Jan 06 PHP
PHP中的命名空间详细介绍
Jul 02 PHP
PHP实现递归无限级分类
Oct 22 PHP
Yii视图操作之自定义分页实现方法
Jul 14 PHP
PHP中cookie知识点学习
May 06 PHP
thinkPHP框架中执行事务的方法示例
May 31 PHP
thinkPHP框架RBAC实现原理分析
Feb 01 PHP
Laravel5.1 框架Middleware中间件基本用法实例分析
Jan 04 PHP
基于PHP实现用户登录注册功能的详细教程
Aug 04 PHP
Laravel框架学习笔记之批量更新数据功能
May 30 #PHP
PHP实现的微信公众号扫码模拟登录功能示例
May 30 #PHP
PHP使用PDO创建MySQL数据库、表及插入多条数据操作示例
May 30 #PHP
TP5(thinkPHP5框架)基于bootstrap实现的单图上传插件用法示例
May 29 #PHP
TP5(thinkPHP框架)实现后台清除缓存功能示例
May 29 #PHP
PHP微信网页授权的配置文件操作分析
May 29 #PHP
thinkPHP5框架实现多数据库连接,跨数据连接查询操作示例
May 29 #PHP
You might like
php escape URL编码
2008/12/10 PHP
PHP无敌近乎加密方式!
2010/07/17 PHP
PHP分页类集锦
2014/11/18 PHP
PHP制作百度词典查词采集器
2015/01/29 PHP
PHP 表单提交及处理表单数据详解及实例
2016/12/27 PHP
PHP+MYSQL实现读写分离简单实战
2017/03/13 PHP
tp5(thinkPHP5框架)captcha验证码配置及验证操作示例
2019/05/28 PHP
PhpStorm的使用教程(本地运行PHP+远程开发+快捷键)
2020/03/26 PHP
JavaScript 全角转半角部分
2009/10/28 Javascript
js字母大小写转换实现方法总结
2013/11/13 Javascript
动态的创建一个元素createElement及删除一个元素
2014/01/24 Javascript
Javascript中的回调函数和匿名函数的回调示例介绍
2014/05/12 Javascript
js 获取页面高度和宽度兼容 ie firefox chrome等
2014/05/14 Javascript
NodeJS使用jQuery选择器操作DOM
2015/02/13 NodeJs
js中url对象化管理分析
2017/12/29 Javascript
electron demo项目npm install安装失败的解决方法
2018/02/06 Javascript
小程序封装路由文件和路由方法(5种全解析)
2019/05/26 Javascript
Vue中引入svg图标的两种方式
2021/01/14 Vue.js
[04:00]DOTA2解说界神雕侠侣 CJ第四天谷子现场过生日
2013/07/30 DOTA
在阿里云服务器上配置CentOS+Nginx+Python+Flask环境
2016/06/18 Python
解决win64 Python下安装PIL出错问题(图解)
2018/09/03 Python
django-rest-framework解析请求参数过程详解
2019/07/18 Python
Pytorch实现各种2d卷积示例
2019/12/30 Python
40行Python代码实现天气预报和每日鸡汤推送功能
2020/02/27 Python
Python Request类源码实现方法及原理解析
2020/08/17 Python
python3.8动态人脸识别的实现示例
2020/09/21 Python
如何用python爬取微博热搜数据并保存
2021/02/20 Python
详解移动端HTML5音频与视频问题及解决方案
2018/08/22 HTML / CSS
矫正人员思想汇报
2014/01/08 职场文书
英语课前三分钟演讲稿
2014/08/19 职场文书
党的群众路线教育实践活动专题组织生活会发言材料
2014/10/17 职场文书
党员进社区活动总结
2015/05/07 职场文书
2015最新婚礼主持词
2015/06/30 职场文书
互联网的下一个风口:新的独角兽将诞生
2019/08/02 职场文书
导游词之白茶谷九龙峡
2019/10/23 职场文书
仅用几行Python代码就能复制她的U盘文件?
2021/06/26 Python