作者 lyh

gx

@@ -83,42 +83,63 @@ class TranslateLogic extends BaseLogic @@ -83,42 +83,63 @@ class TranslateLogic extends BaseLogic
83 } 83 }
84 } 84 }
85 85
86 - // $old_key = [];//key值组成数据  
87 - // if($info !== false){  
88 - // $data_read = json_decode($info['data']);  
89 - // foreach ($data_read as $k => $v){  
90 - //// if(!in_array($k,$text_array)){  
91 - //// $arr2[] = $k;  
92 - //// }  
93 - //// $old_key[] = $k;  
94 - // $data[] = [$k => $v];  
95 - // }  
96 - // }else{  
97 - // $arr2 = array_values(array_diff($text_array, $old_key));  
98 - // }  
99 - // if(!empty($arr2)){  
100 - // $i = 0;  
101 - // TranslateText:  
102 - // $translate_list = Translate::tran($arr2, $languageInfo['short']);  
103 - // if(empty($translate_list)){  
104 - // if ($i < 3) {  
105 - // $i++;  
106 - // goto TranslateText;  
107 - // }  
108 - // $this->fail('翻译失败,请稍后重试!');  
109 - // }  
110 - // if(count($arr2) == 1){  
111 - // $data[] = [  
112 - // $arr2[0]=>$translate_list  
113 - // ];  
114 - // }else{  
115 - // foreach ($arr2 as $k => $v){  
116 - // $data[] = [  
117 - // $v=>$translate_list[$k]  
118 - // ];  
119 - // }  
120 - // }  
121 - // } 86 + public function getTranslateList(){
  87 + $data = [];
  88 + if($this->param['url'] == 'All'){
  89 + $info = $this->model->read(['url'=>$this->param['url'],'language_id'=>$this->param['language_id'],'type'=>$this->param['type']]);
  90 + if(!empty($info) && !empty($info['data'])){
  91 + $translateInfo = json_decode($info['data'],JSON_UNESCAPED_UNICODE);
  92 + foreach ($translateInfo as $k => $v){
  93 + $data[] = [$k=>$v];
  94 + }
  95 + }
  96 + return $this->success($data);
  97 + }
  98 + // 需要校对路由
  99 + $url = $this->user['domain'] . (($this->param['url'] != '/') ? $this->param['url'] : '');
  100 + // 需要校对语种
  101 + $languageInfo = $this->getLanguage($this->param['language_id']);
  102 + // 原始校对内容
  103 + $info = $this->model->read(['url'=>$this->param['url'],'language_id'=>$this->param['language_id'],'type'=>$this->param['type']]);
  104 + //获取当前URl的所有文本内容
  105 + $text_array = $this->getUrlRead($url);
  106 + // 原始校对程序
  107 + $old_key = [];//key值组成数据
  108 + if($info !== false){
  109 + $data_read = json_decode($info['data'],JSON_UNESCAPED_UNICODE);
  110 + foreach ($data_read as $k => $v){
  111 + $old_key[] = $k;
  112 + $data[] = [$k => $v];
  113 + }
  114 + }
  115 + $arr2 = array_values(array_diff($text_array, $old_key));
  116 + if(!empty($arr2)){
  117 + $i = 0;
  118 + TranslateText:
  119 + $translate_list = Translate::tran($arr2, $languageInfo['short']);
  120 + if(empty($translate_list)){
  121 + if ($i < 3) {
  122 + $i++;
  123 + goto TranslateText;
  124 + }
  125 + $this->fail('翻译失败,请稍后重试!');
  126 + }
  127 + if(count($arr2) == 1){
  128 + $data[] = [
  129 + $arr2[0]=>$translate_list
  130 + ];
  131 + }else{
  132 + foreach ($arr2 as $k => $v){
  133 + $data[] = [
  134 + $v=>$translate_list[$k]
  135 + ];
  136 + }
  137 +
  138 + }
  139 + }
  140 + return $this->success($data);
  141 + }
  142 +
122 143
123 /** 144 /**
124 * @remark :获取图片列表 145 * @remark :获取图片列表