giovedì 26 maggio 2011

API TRANSLATE

Un sito in più lingue può essere gestito in modi diversi, e il modo migliore dipende sempre dal tipo di sito che stiamo gestendo. Ad esempio, un sito che viene aggiornato raramente (ad esempio il sito verina di un albergo) può tenere sul database le versioni in più lingue dei testi, opportunamente tradotte da un traduttore. Per i siti che vengono aggiornati frequentemente, come i blog, questo può rappresentare un problema.
Con le Google AJAX Language API, questo problema può essere risolto in modo molto semplice: si può automatizzare il processo di traduzione e quindi non avere bisogno di un traduttore, inoltre eviteremo di conservare i testi tradotti sul nostro database.
Per includere le API, sarà necessario utilizzare il comando google.load:
<script type=”text/javascript” src=”http://www.google.com/jsapi”>
</script>
<script type=”text/javascript”>
google.load(“language”, “1″);
</script>
Adesso, tradurre una stringa diventa semplicissimo: la chiamata seguente traduce una frase dall’italiano all’inglese:
google.language.translate(“Ciao, sono una frase”, “it“, “en“, function(result) {
if (!result.error) {
var container = document.getElementById(“traduzione“);
container.innerHTML = result.translation;
}
});
Il primo parametro è la stringa da tradurre, il secondo la lingua di partenza ed il terzo la lingua in cui ottenere la traduzione. Il risultato della traduzione viene inserito nell’elemento con ID “traduzione”.
E’ possibile anche tradurre senza conoscere la lingua di partenza, con la funzionalità di riconoscimento della lingua: basterà immettere una stringa vuota come secondo parametro. Per ottenere invece il codice della lingua utilizzata, si utilizzerà la funzione detect:
var text = “Guten morgen!”;
google.language.detect(text, function(result) {
if (!result.error) {
var language = ‘unknown’;
for (l in google.language.Languages) {
if (google.language.Languages[l] == result.language) {
language = l;
break;
}
}
var container = document.getElementById(“codice“);
container.innerHTML = “Il codice lingua è : ” + language;
}
});
Il codice della lingua verrà inserito nell’elemento con ID “codice”.
Le Google AJAX Language API non si fermano alla sola traduzione del testo, ma comprendono molte altre funzionalità, per una lista esaustiva di tutte le possibilità vi rimando alla documentazione ufficiale.
Il risultato non sarà sempre perfetto, ma è un’ottima soluzione per chi gestisce un sito aggiornato frequentemente e per chi desidera un blog multilingua!

Nessun commento:

Posta un commento