Delirios de un Informático

Detector de idioma con PHP

Ya lo comenté via Twitter hace unos días, pero creo que merece un post entero porque me ha resultado más que útil. Es más sencillo de lo que pueda parecer, basta con instalar el paquete PEAR::Text_LanguageDetect (bien con instalación normal, bien descargando todo lo necesario) y un poco de código:

function get_language($text)
	{
	$lang = false;

	require_once 'Text/LanguageDetect.php';
	$l = new Text_LanguageDetect();

	$result = $l->detect($text, 3);
	if(PEAR::isError($result) == false && is_array($result))
		$lang = key($result);

	return $lang;
	}

El detector devuelve un vector tipo idioma => aproximacion donde idioma es el nombre del idioma (en inglés), aproximacion es un flotante que indica la probabilidad y el primer elemento será el mas aproximado. Por ejemplo:

Array
(
    [german] => 0.407037037037
    [dutch] => 0.288065843621
    [english] => 0.283333333333
    [danish] => 0.234526748971
)

¿Y qué utilidad puede tener esto?. Por ejemplo, para detectar el idioma de comentarios o correos electrónicos y poder filtrarlos (una interesante medida antispam).

2 comentarios en “Detector de idioma con PHP”

angel dice:

identify these parts of the body

faby dice:

hei ciao’stupenda compl x la bellezza.ma quandi anni hai?di dove sei?