Če je vse, kar je delal dobro, in kar naenkrat je ni potem Ena od možnosti je, da imate vprašanje s svojim prevodom ponudnikom (drugi so: nekateri se je spremenila konfiguracija, nova mod dodal, nekaj programske opreme, posodobljena).
Obstaja zelo enostaven način, da preverite ali imate vprašanje z Google api v1 ali pa je nekje drugje. Če želite preveriti, ga prosim, ustvarite novo php datoteko z to vsebino:
To datoteko, ki jo lahko najdete v vBET pakiranje v 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;
?>
V primeru, da uporabljate google api v2 uporabite to kodo - prav tako se bo ta datoteka vključi v naši naslednji izdaji:
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;
?>
Ga naložite na strežnik (vaš forum root) in dal URL, da ga v vašem brskalniku. Če je vse ok, boste dobili odgovor:
Code:
Starting transaltion test
Test result: {"responseData": {"translatedText":"Welcome"}, "responseDetails": null, "responseStatus": 200}
Test error:
Kot vidite napake nimajo nobene vrednosti in rezultat je stanje 200. To pomeni: vse je ok.
Če boste kjer blokiran odziv Google bo videti, da:
Code:
{"responseData": null, "responseDetails": "Suspected Terms of Service Abuse, please contact ajaxapis-support@google.com.", "responseStatus": 403}
Če boste kjer blokiran - samo pišite na Google, kot pravi sporočilo. To bo omogočilo, da bi našli naše razlog, morda je nekaj napak, morda boste morali nekaj spremeniti na bolje prilegajo na TOS Google. Kakorkoli Google enostavno omogoča dostop nazaj, ko je rešil vprašanje 
Če imate omrežje problem potem bo rezultat prazen in napak vam bo povedal, kaj se dogaja (to je: Ni bilo mogoče rešiti gostitelja "ajax.googleapis.com"). Opomba v tem primeru je lahko nekaj časa, preden boste videli izhod (dokler je povezava časovno up).
Mreža problem primer:
Code:
Starting translation test
Test result:
Test error: Failed to connect to 74.125.95.95: Network is unreachable
Connection time (ms): 70.96484375
Kaj morate storiti?
prvič: preverjanje, da požarni zid ne blokira dostop do google.
drugič: morate stik z gostiteljem ponudnika in ga vprašal o problem s povezavo
Če vidite samo "Starting prevod test" ali pa sploh nič potem najverjetneje nimate nameščene CURL modul v vašem PHP.
Če uporabljate Microsoft API, ustvarite novo php datoteko in dal to kodo znotraj njega.:
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;
?>
Kot ga naložite na vašem strežniku, v mapi koren forum, in dal, ki se povezujejo v vaš brskalnik.
Moral bi videti nekako takole:
PHP Code:
Starting translation test
Test result: "Hello"
Test error:
Connection time (ms): 272.083984375
Če gre kaj narobe boste dobili napako, tj če postavite narobe Microsoft ID:
PHP Code:
Starting translation test
Test result: "ArgumentException: Invalid appId Parameter name: appId xxx"
Test error:
Connection time (ms): 416.24194335938
Kot bi smeli prilepite Microsoft id skrbno še enkrat
Dobite lahko tudi to sporočilo o napaki (z različnih ID vrednost), kar pomeni blokirana, ki jih microsoft:
PHP Code:
Starting translation test MS
Test result: "InvalidOperationException: : ID=3641.V2_Json.Translate.365033CA"
Test error:
Connection time (ms): 237.756103516
V tem primeru boste morali pošte poslati Microsoftovi podpori: mtcont@microsoft.com
vključno s to vsebino:
-vaš id prevajalec API, microsoft
-polno kodo napake, tj.: InvalidOperationException:: ID=3641.V2_Json.Translate.365033CA
-Opišite problem, - ko se pojavi, itd.