fanyi
This commit is contained in:
@@ -27,6 +27,7 @@ class TranslationJob
|
|||||||
$sourceLang = $pt['sourceLang'];
|
$sourceLang = $pt['sourceLang'];
|
||||||
// $locale = $pt['locale'];
|
// $locale = $pt['locale'];
|
||||||
$id = $pt['id'];
|
$id = $pt['id'];
|
||||||
|
$toLang = $pt['toLang'];
|
||||||
|
|
||||||
$translator = new TranslatorService();
|
$translator = new TranslatorService();
|
||||||
if($entityType == 'location'){
|
if($entityType == 'location'){
|
||||||
@@ -47,14 +48,15 @@ class TranslationJob
|
|||||||
}
|
}
|
||||||
|
|
||||||
$languages = ['cn' => 'cn', 'en' => 'en', 'ru' => 'ru', 'ar' => 'ar'];
|
$languages = ['cn' => 'cn', 'en' => 'en', 'ru' => 'ru', 'ar' => 'ar'];
|
||||||
|
$languages = array_merge(['to'=>$toLang],$languages);
|
||||||
unset($languages[$sourceLang]);
|
unset($languages[$sourceLang]);
|
||||||
log::info('languages', [$languages]);
|
log::info('languages', [$languages]);
|
||||||
foreach ($languages as $lang => $xflang) {
|
foreach ($languages as $lang => $xflang) {
|
||||||
|
|
||||||
if($entityType =='location'){
|
if($entityType =='location'){
|
||||||
$fields = $translator->location($sourceFields,$lang,$sourceLang);
|
$fields = $translator->location($sourceFields,$xflang,$sourceLang);
|
||||||
}else{
|
}else{
|
||||||
$fields = $translator->vehicle($sourceFields,$lang,$sourceLang);
|
$fields = $translator->vehicle($sourceFields,$xflang,$sourceLang);
|
||||||
}
|
}
|
||||||
|
|
||||||
$translationModel = $translationModels[$xflang];
|
$translationModel = $translationModels[$xflang];
|
||||||
@@ -66,7 +68,7 @@ class TranslationJob
|
|||||||
}
|
}
|
||||||
$translation->fill($fields);
|
$translation->fill($fields);
|
||||||
$res = $translation->save();
|
$res = $translation->save();
|
||||||
log::info('$languages save '.$lang, [$res,$fields]);
|
log::info('$languages save '.$xflang, [$res,$fields]);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -43,11 +43,11 @@ class TranslatorService
|
|||||||
return $location;
|
return $location;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function queue($field,$sourceLang,$type,$id) {
|
public function queue($field,$sourceLang,$type,$id,$toLang) {
|
||||||
// 队列名
|
// 队列名
|
||||||
$queue = 'translator';
|
$queue = 'translator';
|
||||||
// 数据,可以直接传数组,无需序列化
|
// 数据,可以直接传数组,无需序列化
|
||||||
$data = ['entityType' => $type, 'sourceFields' => $field, 'sourceLang' => $sourceLang, 'locale' => 'hello', 'id' => $id];
|
$data = ['entityType' => $type, 'sourceFields' => $field, 'sourceLang' => $sourceLang, 'locale' => 'hello', 'id' => $id, 'toLang' => $toLang];
|
||||||
// 投递消息
|
// 投递消息
|
||||||
Redis::send($queue, $data);
|
Redis::send($queue, $data);
|
||||||
return true;
|
return true;
|
||||||
|
|||||||
@@ -189,12 +189,15 @@ class LocationController extends Crud
|
|||||||
];
|
];
|
||||||
//删除已保存的模型
|
//删除已保存的模型
|
||||||
unset($translationModels[$lang]);
|
unset($translationModels[$lang]);
|
||||||
// unset($languages[$lang]);
|
unset($languages[$lang]);
|
||||||
|
|
||||||
// 创建翻译服务实例
|
// 创建翻译服务实例
|
||||||
$translatorService = new \app\service\TranslatorService();
|
$translatorService = new \app\service\TranslatorService();
|
||||||
|
|
||||||
$translatorService->queue($data,$languages[$lang],'location',$data['id']?:null);
|
$sourceLang = $languages[$lang];
|
||||||
|
foreach ($languages as $lang) {
|
||||||
|
$translatorService->queue($data,$sourceLang,'location',$data['id']?:null,$lang);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -277,12 +277,14 @@ class VehicleController extends Crud
|
|||||||
];
|
];
|
||||||
//删除已保存的模型
|
//删除已保存的模型
|
||||||
unset($translationModels[$lang]);
|
unset($translationModels[$lang]);
|
||||||
// unset($languages[$lang]);
|
unset($languages[$lang]);
|
||||||
|
|
||||||
// 创建翻译服务实例
|
// 创建翻译服务实例
|
||||||
$translatorService = new \app\service\TranslatorService();
|
$translatorService = new \app\service\TranslatorService();
|
||||||
|
$sourceLang = $languages[$lang];
|
||||||
$translatorService->queue($data,$languages[$lang],'vehicle',$data['id']?:null);
|
foreach ($languages as $lang) {
|
||||||
|
$translatorService->queue($data,$sourceLang,'vehicle',$data['id']?:null,$lang);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user