Rolf B: Dynamischer Link / Übersetzer HILFE!

Beitrag lesen

Hallo Olf,

ich denke nicht, dass Du die URL ohne JavaScript zusammenbekommst, solange Du eine HTML Seite auslieferst. Wenn Du die Seite mit PHP oder ähnlichem generieren würdest, ok, dann wären da Möglichkeiten...

Wenn ich das richtig sehe, müssen im Hostname der Seite Minuszeichen durch 2 Minuszeichen ersetzt werden und dann Punkte durch Minuszeichen. Dahinter setzt man ".translate.goog".

Den Path- und Query-Anteil der URL hängt man dann als path an den so gebildeten Hostnamen, und dahinter als Zusatzparameter die Translate-Parameter. Nette Spielerei.

Du müsstest also

  • genug JavaScript können um die Logik zusammenzubekommen
  • den translate-button anbieten
  • einen click-Handler darauf registrieren
  • im click-Handler die URL generieren
  • window.location auf die generierte URL setzen.

Zum Generieren der URL kannst Du auf den aktuellen Wert von window.location zugreifen. Das ist ein Location-Objekt, darin findest Du die Eigenschaften hostname, path und search, mit denen kannst Du Dir die translate.goog URL zusammensetzen. Den Hostnamen konvertierst Du mit 2 replaceAll aufrufen:

hostname.replaceAll("-", "--").replaceAll(".", "-")

Die Replaces müssen genau in dieser Reihenfolge sein, sonst ersetzt Du Punkte am Ende durch 2 Minuszeichen.

Was Du auf jeden Fall auch tun sollstest, ist prüfen, ob Du bereits auf einer .goog Seite bist, denn sonst würdest Du auch auf der übersetzten Seite die Übersetzung anbieten. Brrr.

Fallstricke:

  • Google könnte die Parametrierung der Webseitenübersetzung ändern, dann musst Du erneut reverse engineering betreiben
  • Die Mechanismen, die Google anbietet, können von Land zu Land verschieden sein

Chrome-Desktop User benötigen Deinen Button übrigens nicht, da gibt's auf der rechten Maustaste "Auf Deutsch übersetzen" als Funktion.

Rolf

--
sumpsi - posui - obstruxi