• HomePagina Inicial
  • Blog Mis cosillas
  • Portfolio Mis trabajos
  • Acerca deeste blog y su autor
    • Sobre Mi 
    • Oridoki 
  • ContactarFormulario
  • Categorias

    • Blog
      • Control de Versiones
        • GIT
      • Diseño
      • Frameworks
        • CakePHP
        • CodeIgniter
      • JavaScript
        • EXT JS
        • JQuery
      • Magento
      • Maquetación
        • CSS
        • HTML
      • MiniCodes
      • MySQL
      • PHP
      • Proyectos
      • Sistemas
      • TextMate
      • Varios
      • Wordpress
    • Portfolio

PHP – Traducción Automatica

Posted by Adrià Cidre Categories: Blog, PHP Tags: google translate, PHP, traduccion

Cuando estamos desarrollando un sitio multiidioma, a veces, nos sería de lo más útil que el propio PHP nos hiciera una traducción de algunos contenidos, para guardarlos o para mostrarlos directamente.

En cualquier caso hoy os presento esta función que tenia por aquí hace unos meses, y que la verdad es bastante funcional cuando realizamos algún parseo.

/***
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
*/
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, 2);
	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);
		}

	$buffer = utf8_decode($buffer);
	$buffer = str_replace("\\n", "", $buffer);
	return $buffer;
}

//[ Ejemplo ]//
echo translate("Mi perro se llama Pedro", "es", "en");

Es necesario tener las librerías de CURL instaladas en nuestro servidor, así como tenerlas enlazadas con PHP.
Espero que os sirva :-)

Share This Post!

Subscribe to our RSS feed. Tweet this! StumbleUpon Reddit Digg This! Bookmark on Delicious Share on Facebook

2 Responses to PHP – Traducción Automatica

  1. Hola, primero gracias por el codigo, lo he probado pero no funciona me devuelve Hola que tal, puede ser que el codigo ya sea viejo??, un saludo y muchas graciasa

    Posted on 26/06/2009 at 09:48
    |
    peliculas online says
  2. Vaya también el ejemplo ejemplo es malo, porqué google no parece capaz de traducir ‘Hola que tal’. Sin embargo si pruebas que con algo como ‘Mi perro se llama Pedro’ entonces funciona correctamente :-)

    En seguida corregiré el post :-)

    Un Saludo

    Posted on 26/06/2009 at 10:39
    |
    Adrià Cidre says

Deja un comentario Cancelar respuesta

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

*

*

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Search our website

  • Inicio
  • Blog
  • Consultor Web
  • Contactar
  • E-Commerce
  • Oridoki
  • Outsourcing
  • Portfolio
  • Sobre Mi
  • Social Media
© Adrià  Cidre Jugo - 2011