有没有办法将 Google Translate API 与 PHP(服务器端)一起使用?
问问题
1829 次
2 回答
3
尝试查看声称能够做到这一点的http://code.google.com/p/gtranslate-api-php/ 。请注意,所需文件 (GTranslate.php) 目前似乎仅在该项目的 SVN 存储库中可用。
于 2010-01-03T00:47:54.323 回答
0
想要将 Google Translate API 与 PHP(服务器端)一起使用,您需要在您的 composer 文件中插入“google/cloud-translate”和“google/apiclient”,运行 composer update 并在创建对象后调用 translate 方法以下课程:
<?php
require_once APP_ROOT . '/library/google-api-php-client/src/Google_Client.php';
require_once APP_ROOT . '/library/google-api-php-client/src/contrib/Google_TranslateService.php';
class GoogleTranslator
{
private $developer_key;
const PROVIDER = "google";
const SUCCESS = "success";
const FAILURE = "failure";
const TRANSLATE_SUCCESS_MESSAGE = 'text translation successful';
public function __construct()
{
$this->developer_key = '<DEVELOPER KEY HERE>';
}
public function translate($text, $source_language, $target_language)
{
try {
$client = new \Google_Client();
$client->setApplicationName('Google Translate PHP Starter Application');
$client->setDeveloperKey($this->developer_key);
$service = new \Google_TranslateService($client);
$optional_parameters = array('source' => $source_language);
$translated_text = $service->translations->listTranslations($text, $target_language, $optional_parameters);
return array('translation' => $translated_text['translations'][0]['translatedText'],
'provider' => self::PROVIDER,
'status' => self::SUCCESS,
'message' => self::TRANSLATE_SUCCESS_MESSAGE);
} catch (\Exception $e) {
error_log($e->getMessage() . " FOR GET TRANSLATION CALL", "GOOGLE TRANSLATE API");
$res = array('translation' => '',
'provider' => self::PROVIDER,
'status' => self::FAILURE,
'message' => $e->getMessage());
return $res;
}
}
}
于 2019-10-13T08:13:25.453 回答