|
...
|
...
|
@@ -20,6 +20,7 @@ use App\Models\Project\Project; |
|
|
|
use App\Models\RouteMap\RouteMap;
|
|
|
|
use App\Models\WebSetting\SettingNum;
|
|
|
|
use App\Models\WebSetting\Translate;
|
|
|
|
use App\Models\WebSetting\TranslateKey;
|
|
|
|
|
|
|
|
class TranslateController extends BaseController
|
|
|
|
{
|
|
...
|
...
|
@@ -57,13 +58,68 @@ class TranslateController extends BaseController |
|
|
|
],[
|
|
|
|
'language_id.required' => 'language_id不能为空',
|
|
|
|
]);
|
|
|
|
$res_data = [];
|
|
|
|
$res_data['language_id'] = $this->param['language_id'];
|
|
|
|
$this->map['type'] = 1;
|
|
|
|
$data = $translate->formatQuery($this->map)->with('translate_data')->get()->toArray();
|
|
|
|
foreach ($data as $k=>$v){
|
|
|
|
$v['data'] = json_decode($v['translate_data']['data'],JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
|
|
|
|
$data[$k] = $v;
|
|
|
|
}
|
|
|
|
$this->response('success',Code::SUCCESS,$data);
|
|
|
|
$keyModel = new TranslateKey();
|
|
|
|
$keyList = $keyModel->list();
|
|
|
|
if(empty($data) && empty($keyList)){
|
|
|
|
$this->response('导出数据为空');
|
|
|
|
}
|
|
|
|
if(empty($data)){
|
|
|
|
foreach ($keyList as $values){
|
|
|
|
$key_data = json_decode($values['proof_key'],JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
|
|
|
|
$resData['route'] = $values['url'];
|
|
|
|
$resData['source'] = $values['source'];
|
|
|
|
$resData['source_id'] = $values['source_id'];
|
|
|
|
$resData['is_list'] = $values['is_list'];
|
|
|
|
$resData['is_custom'] = $values['is_custom'];
|
|
|
|
$resData['page'] = $values['page'];
|
|
|
|
foreach ($key_data as $key_val){
|
|
|
|
$resData['data'][] = [$key_val => ''];
|
|
|
|
}
|
|
|
|
$res_data[] = $resData;
|
|
|
|
}
|
|
|
|
$this->response('success',Code::SUCCESS,$res_data);
|
|
|
|
}
|
|
|
|
if(empty($keyList)){
|
|
|
|
foreach ($data as $values){
|
|
|
|
$resData['route'] = $values['url'];
|
|
|
|
$resData['source'] = $values['source'];
|
|
|
|
$resData['source_id'] = $values['source_id'];
|
|
|
|
$resData['is_list'] = $values['is_list'];
|
|
|
|
$resData['is_custom'] = $values['is_custom'];
|
|
|
|
$resData['page'] = $values['page'];
|
|
|
|
$resData['data'] = json_decode($values['translate_data']['data'],JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
|
|
|
|
$res_data[] = $resData;
|
|
|
|
}
|
|
|
|
$this->response('success',Code::SUCCESS,$res_data);
|
|
|
|
}
|
|
|
|
foreach ($data as $values){
|
|
|
|
$resData['route'] = $values['url'];
|
|
|
|
$resData['source'] = $values['source'];
|
|
|
|
$resData['source_id'] = $values['source_id'];
|
|
|
|
$resData['is_list'] = $values['is_list'];
|
|
|
|
$resData['is_custom'] = $values['is_custom'];
|
|
|
|
$resData['page'] = $values['page'];
|
|
|
|
$resData['data'] = [];
|
|
|
|
foreach ($keyList as $v1){
|
|
|
|
if(($values['page'] == $v1['page']) && ($values['source'] == $v1['source']) && ($values['source_id'] == $v1['source_id']) && ($values['is_list'] == $v1['is_list']) && ($values['is_custom'] == $v1['is_custom'])){
|
|
|
|
$translate_data = json_decode($values['translate_data']['data'],JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
|
|
|
|
$keys_data = array_keys($translate_data);
|
|
|
|
$translate_key_data = json_decode($v1['proof_key'],JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
|
|
|
|
foreach ($translate_key_data as $value){
|
|
|
|
if(!in_array($value,$keys_data)){
|
|
|
|
$translate_data[$value] = '';
|
|
|
|
}
|
|
|
|
}
|
|
|
|
$resData['data'] = $translate_data;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
$res_data[] = $resData;
|
|
|
|
}
|
|
|
|
$this->response('success',Code::SUCCESS,$res_data);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
...
|
...
|
|