0

昨天一切都与翻译完美配合,但今天我遇到了下一个错误。

警告:在第 123 行为 C:\xampp\htdocs\apitranslation\vendor\statickidz\php-google-translate-free\src\GoogleTranslate.php 中的 foreach() 提供的参数无效

我的文字小于 5000 个字符。你怀疑是哪个问题?

// 谷歌翻译 URL $url = " https://translate.google.com/translate_a/single?client=at&dt=t&dt=ld&dt=qca&dt=rm&dt=bd&dj=1&hl=es-ES&ie=UTF-8&oe=UTF-8&inputm =2&otf=2&iid=1dd3b944-fa62-4b55-b330-74909a99969e ";

    $fields = array(
        'sl' => urlencode($source),
        'tl' => urlencode($target),
        'q' => urlencode($text)
    );

    // URL-ify the data for the POST
    $fields_string = "";
    foreach ($fields as $key => $value) {
        $fields_string .= $key . '=' . $value . '&';
    }

    rtrim($fields_string, '&');

    // Open connection
    $ch = curl_init();

    // Set the url, number of POST vars, POST data
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_POST, count($fields));
    curl_setopt($ch, CURLOPT_POSTFIELDS, $fields_string);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_ENCODING, 'UTF-8');
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
    curl_setopt($ch, CURLOPT_USERAGENT, 'AndroidTranslate/5.3.0.RC02.130475354-53000263 5.1 phone TRANSLATE_OPM5_TEST_1');

    // Execute post
    $result = curl_exec($ch);

    // Close connection
    curl_close($ch);

    return $result;
}

/**
 * Dump of the JSON's response in an array
 *
 * @param string $json
 *            The JSON object returned by the request function
 *
 * @return string A single string with the translation
 */
protected static function getSentencesFromJSON($json)
{
    $sentencesArray = json_decode($json, true);
    $sentences = "";

    foreach ($sentencesArray["sentences"] as $s) {
        $sentences .= isset($s["trans"]) ? $s["trans"] : '';
    }

    return $sentences;
}
4

0 回答 0