אם הכל עבד טוב ופתאום זה לא אז אפשרות אחת היא כי יש לך בעיה עם ספק התרגום שלך (האחרים הם: כמה תצורה שונה, 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;
?>
לטעון אותו לשרת שלך (שורש בפורום שלך) ולשים כתובת אתר זה בדפדפן שלך. אם הכל בסדר תקבלו תשובה:
Code:
Starting transaltion test
Test result: {"responseData": {"translatedText":"Welcome"}, "responseDetails": null, "responseStatus": 200}
Test error:
כפי שאתה רואה שגיאה אין ערך והתוצאה יש מצב 200. משמעות הדבר היא: הכל בסדר.
אם אתה חסום שבו תגובת גוגל נראה כי:
Code:
{"responseData": null, "responseDetails": "Suspected Terms of Service Abuse, please contact ajaxapis-support@google.com.", "responseStatus": 403}
אם אתה חסום שם - פשוט לכתוב בגוגל את המסר אומר. זה יאפשר למצוא את הסיבה שלנו, אולי זו טעות, אולי יהיה לך לשנות משהו כדי להתאים טוב יותר TOS של גוגל. בכל מקרה גוגל נותן גישה קלה לאחור כאשר הבעיה נפתרה 
אם יש לך בעיה ברשת אז התוצאה תהיה ריקה וטעייה אגיד לך מה קורה (כלומר: לא ניתן לפתור מארח "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 שלך.
אם אתה משתמש ב-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:
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
-תאר את הבעיה, - כאשר הוא מופיע, ועוד.