La corsa di Google alla pubblicazione di API in grado di rendere fruibili a tutti i propri servizi non si è ancora arrestata e non sembra dar segni di arresto.
Dopo Google Talk, YouTube e Contacts, è il momento dello strumento di traduzione di Google.
Grazie alla collaborazione dei miei corsisti di Ploteus, posso oggi pubblicare uno stralcio di codice capace di tradurre da una qualsiasi lingua verso l’inglese, il tutto solo e soltando utilizzando JavaScript.
Creiamo insieme un’applicazione “hello world” con le Google AJAX Language API.
La prima cosa da fare è aggiungere, tra i tags HEAD, il collegamento alla risorsa JavaScript principale di Google. Tale risorsa renderà disponibile nella nostra pagina una serie di funzioni capaci di tradurre i nostri testi.
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
Successivamente, tra i tags BODY, creiamo due campi TEXTAREA, uno per il testo originale ed un altro per il testo tradotto. Aggiungiamo anche un bottone che evocherà la funzione JavaScript per eseguire la traduzione.
<label for="originale">Lingua originale:<br /> <textarea name="originale" cols="50″ rows="5″ id="originale"></textarea> </label> <br /><br /> <label for="traduzione">Traduzione:<br /> <textarea name="traduzione" cols="50″ rows="5″ id="traduzione"></textarea> </label> <br /><br /> <button type="button" onclick="translate()">Traduci</button>
A questo punto, in una parte qualsiasi del nostro documento HTML, creiamo il seguente codice JavaScript.
google.load('language','1′);
function translate () {
var originale = document.getElementById("originale").value;
google.language.translate (
originale, "", "en",
function (result) {
if (!result.error) document.getElementById("traduzione").value = result.translation;
else alert(result.error.message);
}
);
}
La prima riga serve a creare l’oggetto “language“. Il secondo valore serve ad indicare la versione della API da utilizzare; in questo modo si ha la sicurezza che, nel caso di upgrade delle API, il nostro script possa utilizzare la versione per cui è stato creato.
La funzione “translate” non fa altro che acquisire il testo da noi inserito e metterlo in una variabile (riga 3). Successivamente si fa una istanza alla funzione “google.language.translate“.
Tale funzione accetta quattro parametri:
- Il testo originale da tradurre;
- La lingua originale del testo. Se lasciato vuoto, la funzione tenterà di capire da sola la lingua in cui è scritto;
- La lingua verso la quale tradurre il testo;
- Una funzione di callback alla quale sarà passato un array associativo (o un oggetto) contente tutti i dati della traduzione.
Come facilmente si evince, possiamo acquisire un testo da qualsiasi sorgente, visto che il DOM ci permette di manipolare ed interrogare qualsiasi TAG.
L’applicazione funzionante è disponibile cliccando qui.
Le lingue supportate nel momento in cui scrivo sono 13:
- Arabic
- Chinese (Simplified and Traditional)
- Dutch
- English
- French
- German
- Greek
- Italian
- Japanese
- Korean
- Portuguese
- Russian
- Spanish
e sempre nel momento in cui scrivo, è possibile tradurre secondo le seguenti coppie:
- Arabic to English
- Chinese to English
- Chinese (Simplified to Traditional)
- Chinese (Traditional to Simplified)
- Dutch to English
- English to Arabic
- English to Chinese (Simplified)
- English to Chinese (Traditional)
- English to Dutch
- English to French
- English to German
- English to Greek
- English to Italian
- English to Japanese
- English to Korean
- English to Portuguese
- English to Russian
- English to Spanish
- French to English
- French to German
- German to English
- German to French
- Greek to English
- Italian to English
- Japanese to English
- Korean to English
- Portuguese to English
- Russian to English
- Spanish to English
Ovviamente l’API è appena nata ed è soggetta a continui mutamenti, per cui per avere la certezza di fare le cose con cura, non dimentichiamoci di fare riferimento alla documentazione sul sito ufficiale.
Devo fare un saluto (sennò mi lincia :D) al mio “braccio”, visto che io, la “mente”, davo le indicazioni sul codice e lei scriveva. Ciao e grazie “bella dentro”!
![]()














