五一假期抠了两天图,把我累的,真是劳动人民了,真正感觉到程序是改变世界的,可以实现批量干活。
展现技术的时刻到了:批量翻译。工作量:普通文章的长度,数量大约1500篇。
先是看了百度翻译,看了文档,感觉怪怪的,就放弃了,然后就是阿里云了,先composer一把:
composer require alibabacloud/sdk
然后就是代码了:
use AlibabaCloud\Client\AlibabaCloud;
use AlibabaCloud\Client\Exception\ClientException;
use AlibabaCloud\Client\Exception\ServerException;
public function t(){
// 创建一个全局客户端
AlibabaCloud::accessKeyClient('LTAI5t7oAWLQco', '6ZNBWAHIHpu')
->regionId('cn-hangzhou')
->asGlobalClient();
$archivesData=Db::name('spanish_product')->field('id,seo_description')->select()->toArray();
foreach($archivesData as $k=>$v){
try {
$result = AlibabaCloud::alimt()
->v20181012() //通用版本
->translateGeneral()
->method('POST') //设置请求POST
->withSourceLanguage('en') //源语言
->withSourceText($v['seo_description']) //原文
->withFormatType('html') //翻译文本的格式
->withTargetLanguage('es') //目标语言
->request();
$Arr=$result->toArray();
//halt($Arr['Data']['Translated']);
Db::name('spanish_product')->where('id',$v['id'])->update(['seo_description'=>$Arr['Data']['Translated']]);
echo $v['id'];
echo "<br>";
} catch (ServerException $e) {
\print_r($e->getErrorMessage());
\print_r($e->getRequestId());
} catch (ClientException $e) {
\print_r($e->getErrorMessage());
}
}
}注意量太大的时候容易断掉,直接整死了,我是每400条文章一次,你的文章长度比较长可以在200条-300条处理一次。
效率太高,速度太快了!
一定要购买翻译包,我就没买,结果产生了近800元的翻译费用,别说了我去哭了……