Google Translate & Language API – flerspråkighet via API

translate.google.com så kan man enkelt översätta texter eller hela webbsidor mellan ett 40-tal olika språk, inklusive svenska och de andra nordiska språken. Denna teknologi har också börjat visa i vanliga Google sökningar där man automatiskt kan få svar från andra språk översatta. Översättningarna är inte perfekta, men de är bra mycket bättre än klassiska Altavista babelfish. Det går bra att förslå bättre översättningar om man inte är nöjd med något, så Google crowdsourcar sin översättningsmotor.

Google Translate gadget & länkar

Det enklaste sättet att erbjuda en sida i alla Google Translates olika språk är via Google Translate gadget som ser ut så här:

Om du istället vill länkar till en automatiskt översatt version av en webbsida så går det bra genom att använda en länk med formatet:

http://www.google.com/translate_c?langpair=<orginalspråk>|<nyttspråk>&u=<url>

“Orginalspråk” och “nyttspråk” är koden för språket i fråga, tex “sv” för svenska och “en” för engelska. URLen är helt enkelt adressen till den sida du vill översätta. Om du vill läsa mashup.se på spanska så är alltså länken:

<a href="http://www.google.com/translate_c?langpair=sv|es&u=http://www.mashup.se">http://www.google.com/translate_c?langpair=sv|es&u=http://www.mashup.se</a>

Om du inte anger något orginalspråk så kommer Google Translate att försöka identifiera det automatiskt och sedan översätta sajten.

Google AJAX Language API

För ännu mer kontroll över översättningen så kan man använda Google AJAX Language API. Med detta API kan man översätta texter och identifera vilket språk en text är skrivet i via främst javascript. Det finns även en REST version av APIet för att användas från Flash, PHP eller vilket programmeringsspråk som helst.

Ett enkelt exempel på javascript APIet är denna översättning av “Hej världen” från svenska till finska (det krävs att man laddar lite Javascript bibliotek etc för att få detta att funka, se dokumentationen för fler detaljer):

<br /> google.language.translate("Hej världen", "sv", "fi", function(result) {<br /> if (!result.error) {<br /> var container = document.getElementById("translation");<br /> container.innerHTML = result.translation;<br /> }<br /> });

Motsvarande REST anrop ser ut så här:

<a href="http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=hello%20world&langpair=en%7Ces">http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=hello%20world&langpair=en%7Ces</a>

REST anropen returnerar svaret i JSON, i detta exempel är svaret:

{"responseData": {"translatedText":"hola mundo"}, "responseDetails": null, "responseStatus": 200}

Andra saker man kan göra med Google AJAX Language API är att ta reda på vilket språk en given text är skrivet på, kolla om en browser kan rendera text i en given Unicode font och göra transliteration (överföra ordens ljud från ett språk till ett annat).