Si todo estaba funcionando bien y de repente no entonces una posibilidad es que usted tiene problema con su proveedor de traducción (los otros son: algún tipo de configuración se ha cambiado, nuevo mod añadido, un software actualizado).
No hay manera muy fácil de ver qué tienes problema con API de Google v1 o está en otro sitio. Para comprobar que por favor basta con crear nuevo archivo php con este contenido:
Este archivo se puede encontrar en VBET pack de 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;
?>
En caso de usar google API v2 utilizar este código - También este archivo se incluirán en la próxima versión:
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;
?>
Súbelo a tu servidor (la raíz de su foro) y poner la URL a él en su navegador. Si todo está bien obtendrá respuesta:
Code:
Starting transaltion test
Test result: {"responseData": {"translatedText":"Welcome"}, "responseDetails": null, "responseStatus": 200}
Test error:
Como se puede ver el error no tienen ningún valor y el resultado ha estado 200. Esto quiere decir: todo está bien.
Si donde bloquearon la respuesta de Google se parece a lo siguiente:
Code:
{"responseData": null, "responseDetails": "Suspected Terms of Service Abuse, please contact ajaxapis-support@google.com.", "responseStatus": 403}
Si en el bloqueo - sólo escribir en Google, como dice el mensaje. Que permitirá encontrar nuestra la razón, tal vez sea un error, tal vez usted tendrá que cambiar algo que se ajuste mejor a la TOS de Google. De todos modos Google ofrece un acceso fácil volver cuando el problema se resuelve 
Si usted tiene problema en la red entonces obtendremos un resultado vacío y el error le dirá lo que está pasando (es decir: No se ha podido resolver el host 'ajax.googleapis.com'). Tenga en cuenta, en tal caso puede ser un tiempo antes de obtener un resultado (hasta que la conexión se mide el tiempo hacia arriba).
Ejemplo de red problema:
Code:
Starting translation test
Test result:
Test error: Failed to connect to 74.125.95.95: Network is unreachable
Connection time (ms): 70.96484375
¿Qué debe hacer?
En primer lugar: comprobar que el firewall no bloquea el acceso a Google.
en segundo lugar, debe ponerse en contacto con su proveedor de alojamiento y le pregunto por problema con la conexión
Si sólo ve "Iniciando prueba de traducción" o nada en absoluto lo más probable es que usted no tiene instalado el módulo CURL en PHP.
Si está utilizando Microsoft API, crear nuevos archivos php y poner este código en su interior.:
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;
?>
Que subirlo a tu servidor, en la carpeta raíz del foro, y poner ese enlace en su navegador.
Usted debe ver algo como esto:
PHP Code:
Starting translation test
Test result: "Hello"
Test error:
Connection time (ms): 272.083984375
Si algo va mal, es decir, obtendrá un error, si pones mal de Microsoft de ID:
PHP Code:
Starting translation test
Test result: "ArgumentException: Invalid appId Parameter name: appId xxx"
Test error:
Connection time (ms): 416.24194335938
De lo que debe pegar su identificación Microsoft cuidadosamente una vez más
También puede obtener este mensaje de error (con el valor de ID diferente), lo que significa que son bloqueado por microsoft:
PHP Code:
Starting translation test MS
Test result: "InvalidOperationException: : ID=3641.V2_Json.Translate.365033CA"
Test error:
Connection time (ms): 237.756103516
En este caso, tendrá que enviar correo a soporte técnico de microsoft: mtcont@microsoft.com
incluyendo este contenido:
-su id de traductor API de microsoft
-completa el código de error, es decir: InvalidOperationException:: ID=3641.V2_Json.Translate.365033CA
-Describa el problema - cuando aparece, etc..