Если все работает хорошо, и вдруг его нет, то одним из возможных вариантов является то, что у вас проблемы с вашим переводом провайдера (другие: некоторые конфигурации был изменен, новый мод добавил, некоторое программное обеспечение обновляется).
Существует очень простой способ, чтобы проверить есть ли у вас проблемы с Google API v1 или это где-то еще. Чтобы проверить это, пожалуйста просто создать новый PHP файл с таким содержанием:
Этот файл можно найти в vBET пакет в do-not-upload/tools/googletest.php
PHP Code:
<?php
echo "Starting translation test for Google API v1<br/>\n";
$connection = curl_init();
curl_setopt($connection, CURLOPT_URL, 'http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&format=html&langpair=pl|en&q=witaj');
curl_setopt($connection, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)');
//curl_setopt($connection, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($connection, CURLOPT_RETURNTRANSFER, 1);
$time = microtime(true) * 1000;
$result = curl_exec($connection);
$time = microtime(true) * 1000 - $time;
echo 'Test result: '.$result."<br/>\n";
echo 'Test error: '.curl_error($connection)."<br/>\n";
curl_close($connection);
echo 'Connection time (ms): '.$time;
?>
В случае, если вы используете Google API v2 использовать этот код - и этот файл будет включен в нашем следующем выпуске:
PHP Code:
<?php
require_once('./global.php');
echo "Starting translation test for Google API v2<br/>\n";
$connection = curl_init();
curl_setopt($connection, CURLOPT_URL, 'https://www.googleapis.com/language/translate/v2?key='.$vbulletin->options['vbenterprisetranslator_googleapikeyv2'].'&format=html&q=witaj&target=en');
curl_setopt($connection, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)');
//curl_setopt($connection, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($connection, CURLOPT_RETURNTRANSFER, 1);
$time = microtime(true) * 1000;
$result = curl_exec($connection);
$time = microtime(true) * 1000 - $time;
echo 'Test result: '.$result."<br/>\n";
echo 'Test error: '.curl_error($connection)."<br/>\n";
curl_close($connection);
echo 'Connection time (ms): '.$time;
?>
Загрузите его на ваш сервер (ваш форум корень) и поставить ссылку на на него в своем браузере. Если все в порядке, вы получите ответ:
Code:
Starting transaltion test
Test result: {"responseData": {"translatedText":"Welcome"}, "responseDetails": null, "responseStatus": 200}
Test error:
Как видите, ошибки не имеют значения и результат имеют статус 200. Это означает: все в порядке.
Если вы где заблокированы ответ от Google будет выглядеть так:
Code:
{"responseData": null, "responseDetails": "Suspected Terms of Service Abuse, please contact ajaxapis-support@google.com.", "responseStatus": 403}
Если вы где заблокирован - просто напишите Google, как говорится в послании. Это позволит найти наш разум, может быть, это какая-то ошибка, может быть, у вас будет что-то изменить, чтобы соответствовать лучше TOS Google. Во всяком случае Google легко дает доступ назад, когда вопрос решается 
Если у вас есть проблемы в сети, то результат будет пустым и ошибок скажет вам, что происходит (то есть: Не удалось разрешить имя узла "ajax.googleapis.com '). Обратите внимание, в таком случае он может быть время, прежде чем вы увидите выход (до соединения приурочена вверх).
Сеть проблемы пример:
Code:
Starting translation test
Test result:
Test error: Failed to connect to 74.125.95.95: Network is unreachable
Connection time (ms): 70.96484375
Что делать?
Во-первых: убедитесь, что брандмауэр не блокирует доступ к Google.
во-вторых: вы должны связаться с хост-провайдера и попросить его о проблемах с подключением
Если вы видите только "Начиная пробный перевод" или вообще ничего, то, скорее всего, вы не установили модуль CURL в PHP.
Если вы используете Microsoft API, создавать новые PHP файл и поместите этот код в нем.:
PHP Code:
<?php
require_once('./global.php');
echo "Starting translation test MS<br/>\n";
$connection = curl_init();
curl_setopt($connection, CURLOPT_URL, 'http://api.microsofttranslator.com/V2/Ajax.svc/Translate?appId='.$vbulletin->options['vbenterprisetranslator_microsoftappid'].'&from=pl&to=en&options={%22ContentType%22:%22text/html%22}&text=witaj');
curl_setopt($connection, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)');
//curl_setopt($connection, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($connection, CURLOPT_RETURNTRANSFER, 1);
$time = microtime(true) * 1000;
$result = curl_exec($connection);
$time = microtime(true) * 1000 - $time;
echo 'Test result: '.$result."<br/>\n";
echo 'Test error: '.curl_error($connection)."<br/>\n";
curl_close($connection);
echo 'Connection time (ms): '.$time;
?>
Чем загрузить его на сервер, в папке форума корень, и положить, что ссылку в адресную строку браузера.
Вы должны увидеть что-то вроде этого:
PHP Code:
Starting translation test
Test result: "Hello"
Test error:
Connection time (ms): 272.083984375
Если что-то пойдет не так вы получите ошибку, то есть если вы положили Неправильный Идентификатор Microsoft:
PHP Code:
Starting translation test
Test result: "ArgumentException: Invalid appId Parameter name: appId xxx"
Test error:
Connection time (ms): 416.24194335938
Чем вы должны вставить ID Microsoft внимательно еще раз
Вы также можете получить это сообщение об ошибке (с различным значением ID), что означает, что вы заблокировано microsoft:
PHP Code:
Starting translation test MS
Test result: "InvalidOperationException: : ID=3641.V2_Json.Translate.365033CA"
Test error:
Connection time (ms): 237.756103516
В этом случае вам придется отправлять почту в службу поддержки Майкрософт: mtcont@microsoft.com
Это содержимое в том числе:
-Ваш id переводчик API microsoft
-полный код ошибки, то есть: Исключение InvalidOperationException:: ID=3641.V2_Json.Translate.365033CA
-Опишите проблему, - когда он появляется, и т.д.