Ich mit diesem Beitrag zu antworten, auf die Anfrage von Andrea , wie die Übersetzer von Google in Ihrem Web einfügen. Es gibt mehrere Möglichkeiten, um die Vorteile der maschinellen Übersetzung Leistungen von Google und darüber hinaus zu nehmen. Wir können Plugins von anderen geschrieben, eine einfache JavaScript-Skript von Google selbst oder gemischt zu lernen, die API zu verwenden, dh eine Reihe von aufrufbaren Funktionen - wie wir sehen werden - in unterschiedlicher Weise.
Plugins
Ich werde nicht auf diese Lösung zu wohnen, denn ich denke, ist nicht wirklich relevant für die Anfrage von Andrew , wenn ich gut verstanden. Darüber hinaus ist es im Wesentlichen eine Lösung gilt nur für das Blog und nicht auf benutzerdefinierte und Generika. Ich kann nur darauf hinweisen, um Benutzer von WordPress , Global Translator , vielleicht die einfache, praktische und beliebte Plugins von diesem Typ.
Pre-Skript von Google
Der einfachste Weg zu Ihrer Website oder Ihrem Blog zu übersetzen, ist eine einfache JavaScript-Skript von Google bereitgestellte hinzuzufügen. Nur um die Seite aufzurufen translate.google.com und klicken Sie auf "Extras". Von dieser Seite können Sie voreingestellte die Übersetzung Funktionen oder lassen Sie die Standardeinstellung. Das Skript ist sehr einfach:
1 |
und als Ergebnis erhalten wir:

JavaScript AJAX APIs
Das Skript durchaus gemischt lässt wenig Raum für Anpassungen! Wer möchte beginnen mit niedrigem Level-Werkzeuge, die helfen, die Vorteile der AJAX API von JavaScript verwendet. Die Google-API in der Regel, wie sie zur Erstellung maßgeschneiderte Suchmaschinen , folgen ihren eigenen Standards und sind einfach sofort einsetzbar. Denn wer anderen APIs verwendet hat, wird sofort wohl. della nostra pagina HTML: Das erste, was zu tun ist, um die API mit einer einzigen Zeile enthalten script , um in den Körper eingeführt werden HEAD unserer HTML-Seite:
1 |
An dieser Stelle die Übersetzung System geladen ist (teilweise) und nicht brauchen, ist, es zu benutzen. Ein einfaches Beispiel:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | < html > < Kopf > title > < title > Beispiel Machine Translation </ title > "text/javascript" src = "http://www.google.com/jsapi" >< / script > < script type = "text / javascript" src = "http://www.google.com/jsapi"> </ script > "text/javascript" > < script type = "text / javascript"> google.load ("Sprache", "1"); / * ** @ Name: simpleTranslation () ** @ Beschreibung: Zeichnet den Text in "Englisch" von der HTML 'text' **: Und übersetzt sie über die API (Funktion) google.language.translate () * / simpleTranslation function () { var text = document.getElementById ("text") innerHTML.; google.language.translate (Text, 'en', 'en', insertHTML); } / * ** @ Name: insertHTML () ** @ Beschreibung: [Event] - Rückruffunktion, die die Termiten ist **: Die Übersetzung (wenn es erfolgreich ist oder nicht). Erhalten **: Das Ergebnis, ist es in der HTML-"Übersetzung" eingefügt ** @ Ergebnis: Ergebnis enthält die Informationen über das Ergebnis angezeigt * / insertHTML Funktion (result) { if (result.translation) { . document.getElementById ("Übersetzung") innerHTML = result.translation; } } / / google.setOnLoadCallback (simpleTranslation); </ script > </ Kopf > < Körper > "text" > Hello, World! < / div > < div id = "text"> Hallo, Welt! </ div > "translation" >< / div > < div id = "Übersetzung"> </ div > </ Körper > </ html > |
Dieses Beispiel zeigt, wie einfach es ist, einen Teil des Textes in unsere Seite zu übersetzen ist. Die gesamte Dokumentation ist in diesem Zusammenhang auf Google AJAX Language API
Wo können Sie weitere Beispiele und detaillierte Dokumentation aller Klassen zu finden.
In der vorgeschlagenen Beispiel ist ein Stück Text aus dem Englischen ins Italienische übersetzt. Sie können auch fragen, das System automatisch die "Sprache" Quelle durch die Verwendung der Funktion google.language.detect() :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | < html > < Kopf > title > < title > Beispiel der maschinellen Übersetzung mit auto-detect </ title > "text/javascript" src = "http://www.google.com/jsapi" >< / script > < script type = "text / javascript" src = "http://www.google.com/jsapi"> </ script > "text/javascript" > < script type = "text / javascript"> google.load ("Sprache", "1"); autodetect function () { var text = document.getElementById ("text") innerHTML.; google.language.detect (Text, Funktion (result) { if (! result.error result.language & &) { google.language.translate (Text, result.language, "es" Funktion (result) { var übersetzt = document.getElementById ("Übersetzung"); if (result.translation) { translated.innerHTML = result.translation; } } ); } } ); } / / google.setOnLoadCallback (automatische Erkennung); </ script > </ Kopf > < Körper > "text" > Hello, World! < / div > < div id = "text"> Hallo, Welt! </ div > "translation" >< / div > < div id = "Übersetzung"> </ div > </ Körper > </ html > |
Das andere Beispiel ist die gleiche wie oben, außer dass das Textelement 'text' wird automatisch erkannt und ins Italienische übersetzt! Versuchen Sie andere Sprachen enthalten.
Ein gutes Beispiel, um die Übersetzungen zu überprüfen, mit zwei Textbereich so dynamisch einzufügen Portionen wesentlichere:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | < html > < Kopf > title > < title > Beispiel der maschinellen Übersetzung mit auto-detect </ title > "text/javascript" src = "http://www.google.com/jsapi" >< / script > < script type = "text / javascript" src = "http://www.google.com/jsapi"> </ script > "text/javascript" > < script type = "text / javascript"> google.load ("Sprache", "1"); en2it function () { var text = document.getElementById ("Englisch") Wert.; google.language.translate (Text, 'en', 'en', Funktion (result) { if (result.translation) { . document.getElementById ("Italienische") result.translation = Wert; } } ); } </ script > </ Kopf > < Körper > "30" rows = "10" id = "english" >< / textarea > < textarea cols = "30" rows = "10" id = "English"> </ textarea > "javascript:en2it()" > Traduci < / a > < ein href = "javascript: en2it ()"> Translate </ eins > "30" rows = "10" id = "italian" >< / textarea > < textarea cols = "30" rows = "10" id = "Italienisch"> </ textarea > </ Körper > </ html > |
RESTful Interface: Flash, PHP und JAVA
Ich schweife ab, vielleicht, von der ersten Anfrage, aber ich denke, interessant und notwendig, um das Argument vollständig, sind wir es. Durch den Einsatz von REST-Protokoll (REST-Schnittstelle) können Sie die Google-API via Methoden GET auf die URL base:
1 | http://ajax.googleapis.com/ajax/services/search/web |
Diese Technik ermöglicht es Ihnen, die Übersetzung in andere Sprachen und andere Umgebungen, wie zB Flash (Actionscript 3.0), PHP oder Java verwenden.
Im Falle von Flash, zum Beispiel, haben wir:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | HTTPService = new HTTPService ( ) ; var Service: HTTPService = new HTTPService (); = 'http://ajax.googleapis.com/ajax/services/search/web' ; . Service url = 'http://ajax.googleapis.com/ajax/services/search/web'; v = '1.0' ; . Service Request v = '1 .0 '.; q = 'Paris Hilton' ; . Service-Anfrage q = 'Paris Hilton. " ; Service resultFormat = 'text'.; ( ResultEvent . RESULT , onServerResponse ) ; . Service addEventListener (ResultEvent. RESULT, onServerResponse); ( ) ; . Service send (); onServerResponse ( event : ResultEvent ) : void { onServerResponse private function (event: ResultEvent): void { try { Object = JSON . decode ( event . result as String ) ; var json: Object = JSON dekodieren (event. Ergebnis als. String ); / / Jetzt haben Spaß mit den Ergebnissen ... ( ignored : Error ) { } Catch (ignoriert: Fehler ) { } } |
Die Funktion JSON.docode() ist in der Bibliothek AS3corelib , die ich in einem früheren Post berichtet.
Am Code Snippets Google finden Sie zusätzliche Dokumentation.










Hallo ... herzlichen Glückwunsch zu der großen Lösung, die Sie auf dem Laufenden ...
Wenn du mich Ihnen eine Frage stellen, in der Hoffnung, Antworten so schnell wie möglich zu bekommen ...
Ich bin mit der API mit diesem funzioncina:
2
3
4
5
6
7
8
9
10
11
12
13
14
15
TrasLang ) { function initialize (TrasLang) {
document. getElementById ( "text" ) . innerHTML ; var text = Dokument getElementById ("text") innerHTML..;
( text , function ( result ) { google. Sprache. Erkennung (Text, function (result) {
! result. error & amp ;& amp ; result. language ) { if (result error & amp;!. & amp; Ergebnis Sprache.) {
( type , result. language , TrasLang. value , google. Sprache. translate (Typ, führen. Sprache, TrasLang. Wert,
result ) { Funktion (result) {
document. getElementById ( "text" ) ; var übersetzt = Dokument getElementById ("text").;
result. translation ) { if (result. Übersetzung) {
result. translation ; übersetzt innerHTML = result Übersetzung..;
}
});
}
});
}
Ich ging, um den Text in den div zu ersetzen mit Text heißt und wo gebe ich die Sprache, um mit einer Select-Anweisung zu übersetzen.
Oh well ... alles läuft gut für Code-Blöcke, aber wenn der Text zu übersetzen, den HTML-Code gibt mir Fehler ...
Ich habe versucht, um zu sehen, ob es einen Weg, um die HTML-Tags zu ignorieren, konnte aber nichts finden, bis ich auf Ihre schönen Artikel kam!
Ziel ist es, den gesamten Text, der nicht in einem Tag, so dass Sie eine ganze Seite kann translate ... können Sie helfen? Dank
@ Andrea: Die Lösung kann recht kompliziert werden. Wie ich es verstehe Blick auf die aktuelle API von Google vorgesehen, sind HTML-Tags nicht berücksichtigt. etc… Dies ist offensichtlich ein sehr großes Problem auf einem formatierten Text, der fett, kursiv oder enthält
span-Tags mit Klassen oder anderesmall... etc.Leider ist das Problem ein zweifaches Ziel: erste Lösung wäre, um "Strippen", dh zu jedem prlevato html-Tags mit beseitigen
innerHTML, und hier oben konnte man eine regexp auf die Zeichenfolge zu lesen.Die Schwierigkeit ist, später. ,
span, etc… ? Das heißt, sobald die Zeichenfolge übersetzt als Tag Bildung als neu positioniertstrong,em,span, etc ...?Wahrscheinlich benötigen Sie, um Ihnen diese Technologie ist nicht ideal. Die API via JavaScript für kleinere Teile der Texte genutzt werden, sollten Sie versuchen, mithilfe der Server-Funktionen, wie manipuliert durch PHP.
Was ich weiß, diese Technik hat auch eine Grenze der Übersetzung sowie Formatierung. Dies bedeutet, dass "große" Mengen von Text nicht übersetzt werden, aber unabhängig davon, ob oder nicht enthalten HTML.