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 相关文章推荐
如何给phpadmin一个保护
Oct 09 PHP
php中文本操作的类
Mar 17 PHP
php 删除无限级目录与文件代码共享
Nov 22 PHP
php截取后台登陆密码的代码
May 05 PHP
PHP英文字母大小写转换函数小结
May 03 PHP
php广告加载类用法实例
Sep 23 PHP
Laravel 5框架学习之Laravel入门和新建项目
Apr 07 PHP
PHP简单实现文本计数器的方法
Apr 28 PHP
微信支付开发订单查询实例
Jul 12 PHP
php中static和const关键字用法分析
Dec 07 PHP
[原创]PHP实现生成vcf vcard文件功能类定义与使用方法详解【附demo源码下载】
Sep 02 PHP
php实现微信公众号企业转账功能
Oct 01 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
星际争霸 Starcraft 编年史
2020/03/14 星际争霸
mysql+php分页类(已测)
2008/03/31 PHP
php $_SERVER当前完整url的写法
2009/11/12 PHP
PHP+jQuery实现自动补全功能源码
2013/05/15 PHP
深入file_get_contents与curl函数的详解
2013/06/25 PHP
php删除字符串末尾子字符,删除开始字符,删除两端字符(实现代码)
2013/06/27 PHP
PHP中使用file_get_contents post数据代码例子
2015/02/13 PHP
php根据指定位置和长度获得子字符串的方法
2015/03/17 PHP
PHP实现的浏览器检查类
2016/04/11 PHP
PHP设计模式之工厂模式(Factory Pattern)的讲解
2019/03/21 PHP
JavaScript 小型打飞机游戏实现原理说明
2010/10/28 Javascript
HTML5之lang属性与dir属性的详解
2013/06/19 Javascript
zTree插件之多选下拉菜单实例代码
2013/11/06 Javascript
jquery选择器之属性过滤选择器详解
2014/01/27 Javascript
jQuery 选择器详解
2015/01/19 Javascript
iframe中子父类窗口调用JS的方法及注意事项
2015/08/25 Javascript
js表单提交和submit提交的区别实例分析
2015/12/10 Javascript
浅析Javascript匿名函数与自执行函数
2016/02/06 Javascript
使用JavaScript实现ajax的实例代码
2016/05/11 Javascript
基于javascript实现表格的简单操作
2016/05/21 Javascript
JavaScript的this关键字的理解
2016/06/18 Javascript
jquery实现用户登陆界面(示例讲解)
2017/09/06 jQuery
详解vue 数据传递的方法
2018/04/19 Javascript
JS猜数字游戏实例讲解
2020/06/30 Javascript
python dict remove数组删除(del,pop)
2013/03/24 Python
Python3中的真除和Floor除法用法分析
2016/03/16 Python
Python语言描述最大连续子序列和
2017/12/05 Python
Python+OpenCV图像处理——实现直线检测
2020/10/23 Python
HTML如何让IMG自动适应DIV容器大小的实现方法
2020/02/25 HTML / CSS
C++面试题:关于链表和指针
2013/06/05 面试题
利用promise及参数解构封装ajax请求的方法
2021/03/24 Javascript
英文简历中的自我评价用语
2013/12/09 职场文书
家长评语大全
2014/01/22 职场文书
就业意向书范文
2014/04/01 职场文书
简历自我评价优缺点
2015/03/11 职场文书
工程款申请报告
2015/05/15 职场文书