Я пытаюсь использовать Google Translate API для перевода моего блога.Доступ к API работает, я могу отправлять текст и получать соответствующий перевод, но всякий раз, когда я отправляю большие документы с HTML, я больше не получаю ответа от API.
Я использую PHP для отправки запроса с кодом ниже, и я извлекаю сообщения с моего сайта WordPress (= он только извлекает содержимое между тегами тела).
КОД PHP:
function translation ($text,$origin,$destination)
{
$apiKey = 'MY_API_KEY';
$url = 'https://www.googleapis.com/language/translate/v2?key='.$apiKey.'&q='.rawurlencode($text).&source='.$origin.'&target='.$destination;
$handle = curl_init($url);
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($handle);
$responseDecoded = json_decode($response, true);
curl_close($handle);
print_r($response);
print_r($responseDecoded);
}
Если я передаю переменные с помощью:
$text: "hello world"
$origin: "en"
$destination: "fr"
, я работаю без проблем.
Если я передаю текст $ с помощью html, я неполучить любой ответ от API, даже не сообщение об ошибке.Я проверил документацию и увидел это: https://cloud.google.com/translate/markup
Я попытался добавить часть тела / заголовка, но она не работает, но я надеюсь, что я не обязан добавлять это в мой код, потому что это потребуетглавное изменение на всех страницах, чтобы оно работало.
Есть ли у вас какие-либо идеи о том, как я могу сделать эту работу?
ОБНОВЛЕНИЕ: Если я использую substr вPHP, чтобы уменьшить размер $ text, я переводил его примерно до 5200 символов, выше этого я больше ничего не получаю.
Спасибо!
Лоран