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中的超全局变量
Oct 09 PHP
php打造属于自己的MVC框架
Mar 07 PHP
php中的一些数组排序方法分享
Jul 20 PHP
PHP文章采集URL补全函数(FormatUrl)
Aug 02 PHP
配置php网页显示各种语法错误
Sep 23 PHP
php define的第二个参数使用方法
Nov 04 PHP
php获取mysql字段名称和其它信息的例子
Apr 14 PHP
php微信公众开发之获取周边酒店信息的方法
Dec 22 PHP
PHP中大于2038年时间戳的问题处理方案
Mar 03 PHP
PHP封装的多文件上传类实例与用法详解
Feb 07 PHP
PHP PDOStatement::errorCode讲解
Jan 31 PHP
php的优点总结 php有哪些优点
Jul 19 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
jQuery+PHP发布的内容进行无刷新分页(Fckeditor)
2015/10/22 PHP
php实现保存周期为1天的购物车类
2017/07/07 PHP
Ubuntu 16.04中Laravel5.4升级到5.6的步骤
2018/12/07 PHP
Laravel框架处理用户的请求操作详解
2019/12/20 PHP
在JavaScript中使用inline函数的问题
2007/03/08 Javascript
JQUBAR1.1 jQuery 柱状图插件发布
2010/11/28 Javascript
javascript倒计时功能实现代码
2012/06/07 Javascript
js计算字符串长度包含的中文是utf8格式
2013/10/15 Javascript
javascript文件中引用依赖的js文件的方法
2014/03/17 Javascript
教你在heroku云平台上部署Node.js应用
2014/07/30 Javascript
jQuery实现页面滚动时动态加载内容的方法
2015/03/20 Javascript
javascript制作的滑动图片菜单
2015/05/15 Javascript
jQuery实现输入框下拉列表树插件特效代码分享
2015/08/27 Javascript
ClearTimeout消除闪动实例代码
2016/02/29 Javascript
jquery插件格式实例分析
2016/06/16 Javascript
Vue.js每天必学之过滤器与自定义过滤器
2016/09/07 Javascript
利用React-router+Webpack快速构建react程序
2016/10/27 Javascript
JavaScript实现邮箱地址自动匹配功能代码
2016/11/28 Javascript
利用Vue.js框架实现火车票查询系统(附源码)
2017/02/27 Javascript
jquery实现下拉菜单的手风琴效果
2017/07/23 jQuery
详解AngularJS之$window窗口对象
2018/01/17 Javascript
js实现图片无缝循环轮播
2019/10/28 Javascript
jQuery模仿ToDoList实现简单的待办事项列表
2019/12/30 jQuery
Vue+Element UI 树形控件整合下拉功能菜单(tree + dropdown +input)
2020/08/28 Javascript
浅谈Python中函数的参数传递
2016/06/21 Python
pycharm的console输入实现换行的方法
2019/01/16 Python
Python集中化管理平台Ansible介绍与YAML简介
2019/06/12 Python
canvas学习总结三之绘制路径-线段
2019/01/31 HTML / CSS
Redbubble法国:由独立艺术家设计的独特产品
2019/01/08 全球购物
英国在线发型和美容产品商店:Beauty Cutie
2019/04/27 全球购物
美国在线购买空气净化器、除湿器、加湿器网站:AllergyBuyersClub
2021/03/16 全球购物
Diesel美国网上商店:意大利牛仔时装品牌
2020/12/10 全球购物
编程输出如下图形
2013/11/24 面试题
农村婚礼主持词
2014/03/13 职场文书
元旦晚会主持词
2014/03/24 职场文书
redis实现共同好友的思路详解
2021/05/26 Redis