Muchas veces nos encontramos con la necesidad de generar la traducción de un archivo PO, esta tarea puede llevarnos mucho tiempo dependiendo de la cantidad de frases a traducir.
Para automatizar esta tarea he creado un script de traducción automática utilizando la API de Google Translate.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | <?php set_time_limit(0); $file = file('default.pot'); $new_file = $file; foreach($file as $k => $line) { if(substr_count($line, 'msgid') == 1) { $parts = explode('"', $line); if(!empty($parts[1])) { $s = 'en'; $d = 'es'; $lang_pair = urlencode($s.'|'.$d); $q = urlencode($parts[1]); $url = "http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=".$q."&langpair=".$lang_pair; $body = file_get_contents($url); $json = json_decode($body, true); $google = utf8_decode($json['responseData']['translatedText']); $new_file[$k + 1] = 'msgstr "'.$google.'"'; } } } file_put_contents('translated.txt', $new_file); ?> |
Este script lee el archivo default.pot y genera la traducción del mismo teniendo en cuenta el idioma de origen $s = ‘en’; y el idioma de destino $d = ‘es’; y genera un archivo translated.txt con la correspondiente traducción.
Nacho nos da una solución similar en Python.
Tags: Google traductor, localización i18n, PHP

Mmmm muy util.
Sobre todo para facilitarle el rabajo a esos flojillos que le sacan la vuelta a los idiomas.
Que los hay!