Αν τα πάντα δούλευε καλά και ξαφνικά δεν είναι τότε μία πιθανότητα είναι ότι έχετε πρόβλημα με το φορέα παροχής μετάφρασή σας (άλλοι είναι οι εξής: κάποια ρύθμιση άλλαξε, νέα mod πρόσθεσε, κάποιο λογισμικό ενημερωμένο).
Υπάρχει πολύ εύκολος τρόπος για να ελέγξετε έξω έχετε πρόβλημα με 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;
?>
Ανεβάστε το στο διακομιστή σας (root φόρουμ σας) και βάλτε URL για να το στον browser σας. Αν όλα είναι εντάξει θα πάρετε απάντηση:
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;
?>
Από ό, τι ανεβάσετε στον server σας, στο φάκελο του φόρουμ ρίζα σας, και βάλτε ότι σύνδεσμο στο πρόγραμμα περιήγησής σας.
Θα πρέπει να δείτε κάτι σαν αυτό:
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
Από την κανονική επικόλληση 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
Στην περίπτωση αυτή, θα χρειαστεί να στείλετε αλληλογραφία στην υποστήριξη της microsoft: mtcont@microsoft.com
συμπεριλαμβανομένων αυτό το περιεχόμενο:
-το αναγνωριστικό Μεταφραστής API microsoft
-πλήρης κωδικός σφάλματος, δηλαδή: InvalidOperationException:: ID=3641.V2_Json.Translate.365033CA
-να περιγράψει το πρόβλημα - όταν εμφανιστεί, κ.λπ.