作者 李宇航

合并分支 'develop' 到 'master'

Develop



查看合并请求 !473
... ... @@ -26,10 +26,11 @@ class TranslateLogic extends BaseLogic
}
/**
* 获取翻译校对文案
* @return array
* @throws \App\Exceptions\AsideGlobalException
* @throws \App\Exceptions\BsideGlobalException
* @remark :
* @name :getTranslateList
* @author :lyh
* @method :post
* @time :2024/4/9 10:59
*/
public function getTranslateList(){
$data = [];
... ... @@ -49,18 +50,22 @@ class TranslateLogic extends BaseLogic
$languageInfo = $this->getLanguage($this->param['language_id']);
// 原始校对内容
$info = $this->model->read(['url'=>$this->param['url'],'language_id'=>$this->param['language_id'],'type'=>$this->param['type']]);
//获取当前URl的所有文本内容
$text_array = $this->getUrlRead($url);
// 原始校对程序
$old_key = [];//key值组成数据
if($info !== false){
$data_read = json_decode($info['data'],JSON_UNESCAPED_UNICODE);
foreach ($data_read as $k => $v){
$old_key[] = $k;
$data[] = [$k => $v];
}
return $this->success($data);
}else{
//获取当前URl的所有文本内容
$text_array = $this->getUrlRead($url);
}
$arr2 = array_values(array_diff($text_array, $old_key));
if(!empty($arr2)){
$i = 0;
TranslateText:
$translate_list = Translate::tran($text_array, $languageInfo['short']);
$translate_list = Translate::tran($arr2, $languageInfo['short']);
if(empty($translate_list)){
if ($i < 3) {
$i++;
... ... @@ -68,57 +73,22 @@ class TranslateLogic extends BaseLogic
}
$this->fail('翻译失败,请稍后重试!');
}
if(count($text_array) == 1){
if(count($arr2) == 1){
$data[] = [
$text_array[0]=>$translate_list
$arr2[0]=>$translate_list
];
}else{
foreach ($text_array as $k => $v){
foreach ($arr2 as $k => $v){
$data[] = [
$v=>$translate_list[$k]
];
}
}
return $this->success($data);
}
return $this->success($data);
}
// $old_key = [];//key值组成数据
// if($info !== false){
// $data_read = json_decode($info['data']);
// foreach ($data_read as $k => $v){
//// if(!in_array($k,$text_array)){
//// $arr2[] = $k;
//// }
//// $old_key[] = $k;
// $data[] = [$k => $v];
// }
// }else{
// $arr2 = array_values(array_diff($text_array, $old_key));
// }
// if(!empty($arr2)){
// $i = 0;
// TranslateText:
// $translate_list = Translate::tran($arr2, $languageInfo['short']);
// if(empty($translate_list)){
// if ($i < 3) {
// $i++;
// goto TranslateText;
// }
// $this->fail('翻译失败,请稍后重试!');
// }
// if(count($arr2) == 1){
// $data[] = [
// $arr2[0]=>$translate_list
// ];
// }else{
// foreach ($arr2 as $k => $v){
// $data[] = [
// $v=>$translate_list[$k]
// ];
// }
// }
// }
/**
* @remark :获取图片列表
... ...