Jeśli wszystko działa dobrze i nagle nie jest to jedną z możliwości jest to, że masz problem z dostawcą tłumaczenie (inne są: niektóre konfiguracja została zmieniona, nowy mod dodaje jakieś oprogramowanie aktualizowane).
Istnieje bardzo łatwy sposób sprawdzić czy masz problem z Google api v1 albo jest gdzieś indziej. Aby sprawdzić, to proszę po prostu stworzyć nowy plik php z tej treści:
Ten plik można znaleźć w vBET pakiet w 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;
?>
W przypadku korzystania z google api v2 użyć tego kodu - także ten plik zostaną uwzględnione w następnej wersji:
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;
?>
Prześlij go na serwerze (główny forum) i umieścić adres URL w przeglądarce. Jeśli wszystko jest ok otrzymasz odpowiedź:
Code:
Starting transaltion test
Test result: {"responseData": {"translatedText":"Welcome"}, "responseDetails": null, "responseStatus": 200}
Test error:
Jak widać błąd nie mają żadnej wartości i wynik status 200. To znaczy: wszystko jest w porządku.
Jeśli gdzie zablokowane odpowiedzi Google wygląda tak:
Code:
{"responseData": null, "responseDetails": "Suspected Terms of Service Abuse, please contact ajaxapis-support@google.com.", "responseStatus": 403}
Jeśli gdzie zablokowane - po prostu napisz do Google jako komunikat mówi. Pozwoli to odnaleźć swoje przyczyny, może to jest jakiś błąd, być może trzeba będzie coś zmienić w celu jej dostosowania do TOS Google. Zresztą Google łatwo daje dostęp z powrotem, gdy problem zostanie rozwiązany 
Jeśli masz problem z siecią następnie wynik będzie pusta, a błąd powie, co się dzieje (tzn.: Nie można rozwiązać hosta "ajax.googleapis.com"). Uwaga w takim przypadku może być to, zanim będzie można zobaczyć na wyjściu (do połączenia jest planowane w górę).
Sieć przykład problem:
Code:
Starting translation test
Test result:
Test error: Failed to connect to 74.125.95.95: Network is unreachable
Connection time (ms): 70.96484375
Co należy zrobić?
po pierwsze: sprawdź czy firewall nie blokuje dostępu do google.
po drugie: należy skontaktować się z dostawcą gospodarza i spytaj go o problem z połączenie
Jeśli widzisz tylko "Uruchamianie testu tłumaczenie" albo w ogóle nic to najprawdopodobniej nie masz zainstalowanego modułu CURL w PHP.
Jeśli używasz Microsoft API, tworzyć nowe php pliku i umieścić ten kod w środku.:
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;
?>
Niż przesłać go na serwerze, w katalogu głównym forum, i umieścić ten link do przeglądarki.
Powinieneś zobaczyć coś takiego:
PHP Code:
Starting translation test
Test result: "Hello"
Test error:
Connection time (ms): 272.083984375
Jeśli coś pójdzie nie tak otrzymasz błąd, to znaczy umieszczenie Nieprawidłowy identyfikator firmy Microsoft:
PHP Code:
Starting translation test
Test result: "ArgumentException: Invalid appId Parameter name: appId xxx"
Test error:
Connection time (ms): 416.24194335938
Niż należy wkleić id Microsoft uważnie jeszcze raz
Można także uzyskać ten komunikat o błędzie (z inną wartość ID), co oznacza, że jesteś zablokowane przez firmę microsoft:
PHP Code:
Starting translation test MS
Test result: "InvalidOperationException: : ID=3641.V2_Json.Translate.365033CA"
Test error:
Connection time (ms): 237.756103516
W tym przypadku trzeba będzie wysyłanie wiadomości e-mail do pomocy technicznej firmy microsoft: mtcont@microsoft.com
łącznie z tej zawartości:
-Identyfikator tłumacz API microsoft
-pełny kod błędu, to znaczy: InvalidOperationException:: ID=3641.V2_Json.Translate.365033CA
-Opisz problem, - jeżeli okaże się, itp.