Jquery-Translate

Ein sehr schönes Jquery-Plugin zur Übersetzung von kompletten Webseiten. Das Plugin und die Dokumentation findet man auf http://code.google.com/p/jquery-translate/

Das Javascript einfach einbinden und dann bspw. mit $('body').translate('en') den gesamten Inhalt einer Seite übersetzen.

Die einmal gewählte Spracheinstellung soll über den gesamten Aufenthalt auf eurer Seite beibehalten werden? Das Jquery-Cookie-Plugin hilft an dieser Stelle weiter. Ein kleines Beispiel:

<script type="text/javascript">
//jquery-translator with cookies
var destLang = $.cookie('destLang');<br/>if( destLang )
{$( function() {
{
$('body').translate('de', destLang)
;})

;}
</script>

Links zur Sprachwahl könnten dann wie folgt aussehen:

<a onclick="$.cookie('destLang', 'fr' ); $('body').translate( 'de', 'fr');" href="javascript:;" title="Français"><img src="../pics/languages/fr.gif" alt="French"></a>

<a onclick="$.cookie('destLang', 'en' ); $('body').translate( 'de', 'en');" href="javascript:;" title="English"><img src="../pics/languages/gb.gif" alt="Spanish"></a>

Der erste Abschnitt im onclick-Befehl legt ein Cookie mit der gewünschten Zielsprache an. Danach wird die gesamte Seite mit translate() übersetzt. Bei erneutem Laden der Seite wird der Variable destLang der Wert aus dem Cookie zugewiesen, um das Dokument anschließend direkt zu übersetzen.

Das Plugin nutzt die Google Ajax Language API. Diese ist bisher auf eine bestimmte Anzahl an Worten pro Request beschränkt - Jquery-Translate führt deshalb mehrere Request nacheinander aus, bis der gewünschte Text übersetzt wurde.

Ein Liste der unterstützten Sprachen und entsprechender Lädercodes findet sich z.B. hier: http://code.google.com/apis/ajaxlanguage/documentation/reference.html#LangNameArray.

Ich habe das ganze auch hier mal eingebaut - funktioniert IMHO erstaunlich gut.