Vereis tengo esta funcion que traduce un texto del español al ingles:
Código PHP:
<?
/***
Hay que pasarle las siguientes variables:
$content -> String a traducir
$ini -> idioma desde el que queremos traducir
$fin -> idioma al que queremos que nos traduzca
*/
translate("función – y cogulla para preservar la identidad de los participantes y retomando el color del hábito de la cofradía de San Francisco) situándose a los pies de la Cruz en la que está suspendido diferentes el horario de verano y otro el de invierno que conlleva los cambios de hora se realiza para mejorar el aprovechamiento de la luz solar de forma que se consumía menos electricidad El cambio de horario permite adaptar las actividades humanas al ciclo de luz solar, de forma que se dependa en menor medida de la electricidad Los detalles difieren dependiendo del país y sufren modificaciones de vez en cuando La existencia de dos horarios diferentes, el horario de verano y otro el", "es", "en");
function translate($content, $ini, $fin){
$buff = "";
$ini = strtolower($ini);
$fin = strtolower($fin);
$url = "http://translate.google.com/translate_a/t?client=t&text=".urlencode($content)."&sl=".$ini."&tl=".$fin."";
$curl_handle = curl_init();
curl_setopt($curl_handle, CURLOPT_URL, $url);
curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 0);
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl_handle, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.0.3705; .NET CLR 1.1.4322; Media Center PC 4.0)');
curl_setopt($curl_handle, CURLOPT_HTTPHEADER, array("Content-type: application/x-www-form-urlencoded;charset=UTF-8"));
$buffer = curl_exec($curl_handle);
curl_close($curl_handle);
if (empty($buffer))
{
$buffer = '';
}
else
{
$buffer = substr(trim($buffer), 1, -1);
$cadena = $buffer;
global $traduccion;
list($digito_control, $traduccion) = explode('"', $cadena);
}
$buffer = utf8_decode($buffer);
$buffer = str_replace("\\n", "", $buffer);
return $buffer;
}
echo $traduccion.'<br /><br />';
?>
Y funciona, la cosa es que no termina de traducir el texto completo siempre se corta cerca del caracter numero 300 algunas veces mas y otras menos, y tambien parece que se corta en los puntos, por que quitandolos continua, pero inlcuso sin puntos se contar llegando al caracter numero 300 +/-
A ver si alguien sabe que le puede estar pasando.
Un saludo y mil gracias