Google Translation API, il funzionamento

2008-03-28 | Tags: , , ,

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.

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.

A questo punto, in una parte qualsiasi del nostro documento HTML, creiamo il seguente codice JavaScript.

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:

  1. Il testo originale da tradurre;
  2. La lingua originale del testo. Se lasciato vuoto, la funzione tenterà di capire da sola la lingua in cui è scritto;
  3. La lingua verso la quale tradurre il testo;
  4. Una funzione di 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”! ;)

  1. Fello
    9 aprile 2008 alle 13:59

    Ciao ho trovato questo interessante articolo e ho provato l’esempio proposto, tuttavia quando provo a tradurre lunghe porzioni di testo, ottengo un errore che mi segnala appunto che la lunghezza massima del testo è stata superata.

    Questo problema si può risolvere o aggirare, altrimenti tradurre intere pagine è impossibile.

    Ciao :-)

  2. 9 aprile 2008 alle 15:00

    Beh,
    è uno stralcio di codice che ho fatto rapidamente, senza approfondire bene la documentazione.

    Tuttavia, nella documentazione non ho trovato nessun riferimento a limiti di caratteri; comunque grazie per la precisazione!

  3. Fello
    12 aprile 2008 alle 14:39

    Ciao DarCas cercando e chiedendo qua e la ho trovato nei termini di utilizzo di queste API:

    Submit any request exceeding 500 characters in length, to the translation components of the Service

  4. 1 trackbacks
    1. 2008-03-28 - diggita.it