Traducción Automatica con PHP

mayo 9, 2010 | | 0 comentarios | Php Posteado por dementexmaster

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 les dejo esta función que la verdad es bastante funcional cuando realizamos algún parseo.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/*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");

Seguro que les servira a mas de uno saludos!!!:

  • No Related Post

Escribe un comentario

You must be logged in to post a comment.