Laravel框架實(shí)現(xiàn)調(diào)用百度翻譯API功能示例
本文實(shí)例講述了Laravel框架實(shí)現(xiàn)調(diào)用百度翻譯API功能。分享給大家供大家參考,具體如下:
前言
最近在弄的視頻下載網(wǎng)站,弄seo是人工去google翻譯,然后再保存,這樣下去很累啊,然后就想到讓程序自己去翻譯然后保存不就行了嘛,自己主要把中文的seo搞定就OK了。說干就干,最先去找了google 翻譯 api,可惜要綁定信用卡,太麻煩,放棄,然后找到百度翻譯API,雖然支持的國外語言不多,但最基本的國家也都有了。ok,開始擼碼。
代碼說明
使用的是Laravel框架,語言包存放在resources/lang目錄下。代碼功能主要是讀取lang下所有的文件,然后讀取指定的文件(zh-CN),所里面的數(shù)據(jù)循環(huán)出來,調(diào)用百度API,再將翻譯后的結(jié)果保存下來。
上碼
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){ #當(dāng)然,要跳過指定的文件 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]); } #將數(shù)組寫入文件 $str=''.PHP_EOL.'return ' . var_export($_trans_file_arr,true).";"; file_put_contents(resource_path("lang/{$_tran_path}"), $str); } } #讀取指定文件數(shù)組 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; }
更多關(guān)于Laravel相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Laravel框架入門與進(jìn)階教程》、《php優(yōu)秀開發(fā)框架總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家基于Laravel框架的PHP程序設(shè)計(jì)有所幫助。
- 詳解Laravel制作API接口
- Laravel如何實(shí)現(xiàn)適合Api的異常處理響應(yīng)格式
- 在 Laravel 中動(dòng)態(tài)隱藏 API 字段的方法
- Laravel實(shí)現(xiàn)ApiToken認(rèn)證請求
- laravel框架 api自定義全局異常處理方法
- laravel dingo API返回自定義錯(cuò)誤信息的實(shí)例
- PHP使Laravel為JSON REST API返回自定義錯(cuò)誤的問題
- 讓Laravel API永遠(yuǎn)返回JSON格式響應(yīng)的方法示例
- Larave框架通過sanctum進(jìn)行API鑒權(quán)詳解
相關(guān)文章
實(shí)現(xiàn)WordPress主題側(cè)邊欄切換功能的PHP腳本詳解
這篇文章主要介紹了實(shí)現(xiàn)WordPress主題側(cè)邊欄切換功能的PHP腳本詳解,包括為WordPress主題添加管理選項(xiàng)的方法,需要的朋友可以參考下2015-12-12thinkPHP簡單調(diào)用函數(shù)與類庫的方法
這篇文章主要介紹了thinkPHP簡單調(diào)用函數(shù)與類庫的方法,簡單講述了thinkPHP公共函數(shù)庫的文件位置并結(jié)合實(shí)例分析了類庫的調(diào)用方法,需要的朋友可以參考下2017-03-03基于HTTP長連接的"服務(wù)器推"技術(shù)的php 簡易聊天室
關(guān)于HTTP長連接的“服務(wù)器推”技術(shù)原理可以查看IBM的這篇文章,我簡單的做了個(gè)DEMO.2009-10-10php通過GD庫實(shí)現(xiàn)驗(yàn)證碼功能
這篇文章主要介紹了php通過GD庫實(shí)現(xiàn)驗(yàn)證碼功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-07-07