require_once __DIR__.'/../../trans/vendor/autoload.php';
use Google\Cloud\Translate\V3\TranslationServiceClient;
public function doTrans($text){
putenv('GOOGLE_APPLICATION_CREDENTIALS='.__DIR__.'/xxxxxxxxxxx.json');
$translationServiceClient = new TranslationServiceClient();
try {
if (strlen($text) > 25000) {
$max_len = strlen($text) ;
$len = 0;
$res = '';
while ($len < $max_len ){
$res .= $this->transText($translationServiceClient,substr($text,$len,25000));
$len = $len + 25000;
}
} else {
$res = $this->transText($translationServiceClient,$text);
}
}catch (\Throwable $e) {
$res = false;
}
finally {
$translationServiceClient->close();
}
return $res;
}
public function transText($translationClient,$text){
$content = [$text];
$targetLanguage = 'zh-CN';
$response = $translationClient->translateText(
$content,
$targetLanguage,
TranslationServiceClient::locationName('xxxxxxx', 'global')
);
foreach ($response->getTranslations() as $key => $translation) {
return $translation->getTranslatedText() ;
}
}