'cn', 'en'=>'en','ru'=>'ru','ar'=>'ar']; public function __construct() { $this->xunfei = new Xunfei(); } public function vehicle($vehicle, string $targetLang = 'en', string $fromLang = 'cn') { $fields = ['brand', 'model', 'purchase_location', 'procedure_location', 'fbo_destination']; foreach ($vehicle as $k => $var) { if (in_array($k, $fields)) { $rst_dst = $this->xunfei->fanyi($var, $fromLang, $targetLang); if ($rst_dst) { $vehicle[$k] = $rst_dst["trans_result"]["dst"]; } } } log::info('fanyi',$vehicle); return $vehicle; } public function location($location, string $targetLang = 'en', string $fromLang = 'cn') { $fields = ['name']; foreach ($location as $k => $var) { if (in_array($k, $fields)) { $rst_dst = $this->xunfei->fanyi($var, $fromLang, $targetLang); if ($rst_dst) { $location[$k] = $rst_dst["trans_result"]["dst"]; } } } return $location; } public function queue($field,$sourceLang,$type,$id,$toLang) { // 队列名 $queue = 'translator'; // 数据,可以直接传数组,无需序列化 $data = ['entityType' => $type, 'sourceFields' => $field, 'sourceLang' => $sourceLang, 'locale' => 'hello', 'id' => $id, 'toLang' => $toLang]; // 投递消息 Redis::send($queue, $data); return true; } }