This commit is contained in:
2025-05-28 17:55:16 +08:00
parent f2d0b8c118
commit f8ae6e5829
4 changed files with 17 additions and 10 deletions
+5 -3
View File
@@ -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]);
} }
} }
+2 -2
View File
@@ -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);
}
} }