¡Advertencia!
Este tema no ha tenido respuestas en más de un mes. Recuerda que si deseas añadir una nueva debes cumplir con las normas de la web.
Aqui les dejo esta funcion que habia programado para mi posterior herramienta de aviso de terremotos, ya que la base de datos de la USGS mostraba el lugar del acontecimiento en ingles tuve que ingeniarmelas y termine con esto:

¿Cómo se utiliza?

 translate("texto","es"); 

El "texto" lo podemos cambiar por una variable (recuerda quitarle las comillas) y el "es" es el idioma al que se traducira, en este caso ES (español)

Función PHP:

  function file_get_contents_curl($url) {
    $ch = curl_init();
 
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //Set curl to return the data instead of printing it to the browser.
    curl_setopt($ch, CURLOPT_URL, $url);
 
    $data = curl_exec($ch);
    curl_close($ch);
 
    return $data;
}

function translate($text,$to) {

 $text = urlencode(stripslashes(urldecode($text)));
 
$database = file_get_contents_curl ("http://translate.google.com/translate_a/t?client=t&text=$text&hl=$to&sl=auto&tl=$to&multir$to=1&prev=conf&psl=auto&ptl=$to&prev=btn&it=sel.15168&ssel=0&tsel=0&notlr=1&uptl=$to&sc=1");
$trans = explode('[[["', $database);
$trans = explode('"', $trans[1]);
 return $trans[0]; 
 
 }


NOTA: La funcion file_get_contents_curl es necesaria ya que si llamamos el contenido simplemente con  file_get_contents Google lo detectara como Bot y no te mostrara nada.