Google wirft ob seiner 20%-Regelung mittlerweile fast im Wochenrhythmus neue Anwendungen und APIs ins Feld, wobei die vor Kurzem frei gegebene Google AJAX Translation API wohl nicht nur für das mehrsprachige Südtirol sehr interessant sein dürfte. Ben Lisbakken stellte die neue API am 20. März 2008 im entsprechenden Google-Entwickler-Blog vor und gibt eine einfache Schritt-für-Schritt-Anleitung, um mit der brandneuen API die erste Anwendung zu erstellen.

Die Javascript-Bibliothek gestattet es, die 2 Hauptbereiche Sprach-Übersetzung und Sprach-Erkennung abzudecken und akzeptiert aktuell 13 Sprachen sowie 29 Übersetzungs-Paare. Auf Grund der niedrigen Versionsnummer lassen sich Fehler und Ungereimtheiten nicht vollständig ausschließen, unsere kurzen Übersichtstests haben jedenfalls keine Unstimmigkeiten aufdecken können.

Zu Beginn muss die API eingebunden werden:

Als nächster Schritt werden die API-Funktionen über den AJAX API Loader geladen:

google.load( "language", "1" );

Vor der Benutzung irgendwelcher Funktionen muss die Seite vollständig geladen sein. Die AJAX-API bietet dazu eine Standardmethode, welche die übergebene Funktion aufruft, wenn die Seite vollständig geladen ist. In dieser Funktion können dann alle notwendigen Initialisierungen und Methodenaufrufe platziert werden:

google.setOnLoadCallback( OnLoadCallback );

Innerhalb der Load-Callback-Funktion lassen sich alle Funktionalitäten der API nutzen, ein Übersetzungsaufruf benötigt den zu übersetzenden Text, die Quell- und Zielsprache sowie eine Callback-Funktion, welche das Ergebnis des Aufrufs als Objekt übergeben kriegt:

google.language.translate( 'traduzione', 'it', 'de',
    function( Result )
    {
        alert( Result.translation );
    }
);

Für die verwendbare Sprache gibt es eine Liste von Kürzeln.
Die Nutzung der Spracherkennung erfolgt analog, das Ergebnis des Aufrufs wird wiederum als Objekt an die Callback-Funktion übergeben:

google.language.detect( 'traduzione',
    function( Result )
    {
        alert( Result.language );
    }
);

Einen unbekannten Text könnte man wie folgt übersetzen:

strUnknownText = 'lingua sconosciuta';
google.language.detect( strUnknownText,
    function( Result )
    {
        if( !Result.error && Result.language ){
            google.language.translate( strUnknownText, Result.language, 'de',
                function( Result )
                {
                    if( Result.translation ){
                        alert( Result.translation );
                    }
                    else {
                        alert( Result.errror.message );
                    }
                }
            );
        }
        else {
            alert( Result.error.message );
        }
    }
);

Die folgende Beispiel-Anwendung zeigt einen einfachen Keyword-Parser und erlaubt es, die Keywords aus dem Meta-Bereich einer beliebigen Html-Seite auszulesen, deren Sprache zu bestimmen und in 3 verschiedenen Sprachen auszugeben:

[HTML1]

Das Beispiel bestimmt zunächst die native Sprache der Keywords und übersetzt diese dann an Hand der gültigen Übersetzungspaare in die fehlenden Sprachen. Ist die Spracherkennung unzuverlässig, wird entweder die Seitensprache verwendet oder aber ‚deutsch‘ als Default-Sprache.

Die komplette API-Referenz mit hilfreichen Zusatzinfos und Beispielen kann hier gefunden werden, das obige Beispiel basiert auf dem Mootools-Framework.