libreria de idiomasSi, con todos los diccionarios online y con todos los traductores que existen hoy en día es muy fácil cambiar un texto de un lenguaje a otro pero, ¿como saber en que lenguaje esta para decidir que idioma de origen seleccionamos?
Pues como siempre, google al rescate!. La Google AJAX Language API nos ayuda a decidirlo a partir de un simple extracto, y como siempre, para no complicarnos os dejo una función sencilla y unos ejemplos.

PHP:
  1. function lang_detect($texto){
  2.     $url = 'http://ajax.googleapis.com/ajax/services/language/detect?v=1.0&q='.urlencode($texto);
  3.     if(strlen($url)>2000){ $url = substr($url, 0, 1999); }
  4.     $response = file_get_contents($url);
  5.     preg_match_all('!{"responseData": {"language":"(.+)","isReliable":(.+),"confidence":(.+)}, "responseDetails": (.+), "responseStatus": (.+)}!U',$response,$s);
  6.     $o['language']      = $s[1][0];
  7.     $o['isReliable']        = $s[2][0];
  8.     $o['confidence']        = $s[3][0];
  9.     $o['responseDetails']   = $s[4][0];
  10.     $o['responseStatus']    = $s[5][0];
  11.     return $o;
  12.     unset($o,$s);
  13. }

La primera y única variable que usa lang_detect() es el texto del que queremos saber en que idioma esta. Como resultado nos dará un array con varios datos como el factor de acierto que puede tener la detección (confidence) o el lenguaje en el que esta escrito (language).
Para mas información sobre el resto de parámetros devueltos podéis leer la documentación.

Ejemplo uno texto e italiano:

PHP:
  1. $texto = 'ciao mondo crudele';
  2. $resultado = lang_detect($texto);
  3. echo resultado['language'];

Ejemplo dos, texto en español:

PHP:
  1. $texto = 'Hola mundo!!';
  2. $resultado = lang_detect($texto);
  3. print_r(resultado);