Network: Needish · clandescuento · Willka Travel & Adventures
// you’re reading...

Detectar lenguajes usando Google AJAX Language API

Usando el API de Google es muy simple detectar el lenguaje de un texto. Para hacerlo más simple se puede crear un componente CakePHP y reutilizarlo.

El código sería el siguiente:

< ?php
class LanguageComponent extends Object {

	function initialize() {

	}

	function startup(&$controller) {
		$this->controller = $controller;
	}

	function detect($text){
		App::import("Core", "HttpSocket");
		$conn = new HttpSocket();

		$url = "http://ajax.googleapis.com/ajax/services/language/detect?v=1.0&q=";
		$url .= urlencode($text);

		$result = $conn->get($url);

		if (!$result){
			return false;
		}

		$result = json_decode($result, true);

		if (!$result || $result["responseStatus"]!=200 ||
			!isset($result["responseData"]))
		{
			return false;
		}

		return $result["responseData"];
	}
}

En caso de exito retorna una estructura del tipo (en caso de fallo retorna false):

Array
(
    [language] => en
    [isReliable] => 1
    [confidence] => 0.9945003
)

Requiere CakePHP 1.2 (testeado con la rev 7125), y json_decode (PHP 5 >= 5.2.0, PECL json:1.2.0-1.2.1 [1])

Se puede ver una demo del componente en http://projects.pviojo.net/lang/main/detect

[1] http://cl2.php.net/json-decode

Comments

3 comments for “Detectar lenguajes usando Google AJAX Language API”

  1. Excelente concepto estimado, felicitaciones!

    Mi consulta es:
    ¿Realmente es necesario utilizar la API de Google para realizar esto?

    Yo hize algo parecido para suggests de Keywords, y se me viene automaticamente a la cabeza el concepto que hiciste, y para hacerme una api propia lo resolveria de la siguiente manera:

    - Cada lenguaje tiene sus Preposiciones + Articulos y hacer una lista con cada una en ingles, español y francés es realmente facil.

    - Cada lenguaje tiene verbos basicos, que podrían darle un puntaje a la frase.

    - El lenguaje que cumpla con mas puntaje, es el correcto :)

    Saludos

    Posted by Fabian Ramirez | June 26, 2008, 12:35
  2. Si, se podría, pero implicaría construir esas listas que no siempre es tan simple y confiable. Por otra parte, Google, por el volumen de información que maneja, es muy confiable en este sentido.

    Posted by pviojo | June 29, 2008, 12:01
  3. Interesantisima, e inteligentisima aplicacion. Felicitaciones. Da gusto ver cosas utiles en tan pocas lineas de codigo.

    Posted by Martin Bavio | July 24, 2008, 1:55

Post a comment

Mi nombre es Pablo Viojo y tengo 27 años. Nací en Uruguay el 7 de agosto de 1981. Actualmente vivo en Santiago, Chile
Aparte de esto me interesa todo lo que tenga que ver con Internet y las nuevas tecnologías. Más info aquí, en mi hCard o en formato FOAF

View Pablo Viojo's profile on LinkedIn

Featured Posts

Romper paradigmas
February 23, 2009

A veces es necesario romper paradigmas…
¿Por qué la vista, o un elemento de la vista, no puede comunicarse con el modelo?
Paradigma: Un paradigma es —desde fines de la década de 1960— un modelo o patrón en cualquier disciplina científica u otro contexto epistemológico. El concepto fue originalmente específico de la gramática; en 1900 el diccionario [...]

Reedición: Microformatos, los bloques de la web semántica
November 18, 2008

¿Que son los microformatos?
Se trata de formatos de marcado XHTML, aplicables en contextos particulares, que utilizan los atributos definidos por los estándares para mejorar la semántica de los documentos. Son una herramienta muy util para aquellas estructuras que se repiten frecuentemente en documentos, ya sea que se trate de documentos creados por una persona, por [...]

La importancia del Undo en las Web Applications
November 11, 2008

Tomado de Needish the Blog, con permiso del autor
Robert O’Callahan, en su artículo The Essence Of Web Applications, resume algunos aspectos de las aplicaciones web y su relación con las aplicaciones de escritorio.
En lo personal no estoy muy de acuerdo con lo que opina, sobre todo cuando menciona aspectos relacionados con los elementos [...]

La importancia de las interfaces en los nuevos modelos de interacción web
May 14, 2006

Últimamente este blog ha tenido bastante poco movimiento, fundamentalmente debido a falta de tiempo por parte de quien escribe por estos lados.
Si bien tengo unos cuantos temas que me gustaría tocar, fundamentalmente porque en los últimos meses me ha tocado entrar en un área bastante nueva de la programación para la web (sí, esa, la [...]

Suscribe

Enter your email address: