谷歌翻译代码
2024-04-18


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() ;
        }
    }