- Screenshot
Mit Hilfe vom Google-Spachservice oder dem Altavista-Sprachservice kann man die gewünschte Seite übersetzen, diesen Service kann man auch für seine eigene Website anbieten. Scott hat sich dazu ein wenig Gedanken gemacht und die URLs von Google mit ein wenig php so erweitert, dass jede aktive Seite in die jeweilige Sprache übersetzt wird. Dieses Plugin hat mir gefallen und ich habe es für die deutschen WordPress-User geändert, so dass auch wir eine Übersetzung in andere Sprachen anbieten können. Leider ist der Umfang des Übersetzungsservice bei Goggle noch nicht sonderlich umfangreich, was das Sprachangebot aus dem deutschen umfasst. Deshalb gibt es jetzt, ab Version 2.2., mehr Möglichkeiten.
Anforderungen:
WP-Translate(de) Version 1.1 und 2.* arbeiten mit WP 1.5 und höher.
WP-Translate(de) – Widget benötigt das Plugin Sidebar Widgets und arbeitet unter WP 2.* .
Installation des Plugins:
- Den Ordner im zip in euren Plugin-Ordner hochladen: /wp-content/plugins/
- Aktivieren des Plugin in der WP-Admin-Oberfläche
- Fügt
<?php wpfb_translate(); ?>
für Version 1.1
<?php wpfb_translate(n); ?>
für Version 2.* und in eurer Template, wo der Service angeboten werden soll. Hier eignet sich natürlich der Sidebar und der Footer recht gut. Für n könnt ihr 1 oder 2 einsetzen. Dabei steht 1 für vertikale und 2 für horizontale Darstellung der Flaggen.
Info:
Wer das ganze noch mit ein wenig mehr Code einbindet, kann dafür sorgen, dass keine Fehlermeldung kommt, wenn das Plugin mal abgeschaltet ist. Dazu dient eine einfache IF -Abfrage, die mir ein lieber Leser - BEN - zugesandt hat. Herzlichen Dank.
<?php if (function_exists('wpfb_translate')) : ?>
<?php wpfb_translate(n); ?>
<?php endif; ?>
Installation des Widget-Plugin:
Jetzt auch als Widget-Plugin zu haben, da ich einige Anfragen per Mail bekam.
- Den Ordner im zip in euren Plugin-Ordner hochladen: /wp-content/plugins/
- Aktivieren des Plugin in der WP-Admin-Oberfläche
- Nun ist, bei aktiviertem Sidebar Widgets ein weiters Widget vorhanden. In den Sidebar per Drag-Drop einfügen und Einstellungen vornehmen.
Der Sprachservice von Altavista und Worldlingo arbeitet ohne die Darstellung von Frames, so dass die Darstellung der Seite erhalten bleibt. Wer diesen Service für die Übersetzung von deutsch ins englische nutzen möchte, findet im Plugin ein wenig vorgefertigetne Code, der nur entkommentiert werden muss. Der Service mit Google kann der gelöscht oder auskommentiert werden - ab Zeile 64.
Download:
Ist die Arbeit nicht 1 Euro wert?
Jede Spende wird dankbar angenommen und ermöglicht das weitere Arbeiten an freier Software.
Möchtest du mehr oder anders spenden, so besuche meine Wunschliste.
Download als Zip-Datei: wp-translate.zip - 4 KByte
Download als Zip-Datei (Widget-Plugin): wp-translate-widget.zip - 4KByte
Historie:
- V2.3 - valider Code - & in den Links
- V2.4 - Bloglink angepasst, so dass es auch bei Verwendung von Unterordnern funktioniert
- V2.5 - WordPress 2.2 tauglich, ACHTUNG: neuer Funktionsname - wpfb_translate
hallo,
der downloadlink zu wp-übersetzen funktionirt nicht.
könntest du das reparieren.
Sorry, kleiner xhtml-Fehler mit großer Wirkung. Sollte nun alles wieder funktionieren.
Gruss Frank
mhh, hab alles so gemacht wie von dir beschrieben, nur funktionierts nicht.
bei mir wird nur der reine Code angezeigt:
woran kann das denn liegen?
weiß mir keinen Rat mehr, ist ja nun wirklich nichts kompliziertes…
??
Gruß Nemoflow
Bei mir ist nach der Installation leider nur der reine Code auf meiner Startseite zu sehen:
Woran kann’s liegen?
Ups, Sorry !
Da ist mir ein kleiner Fehler in der Install-Anleitung unterlaufen, der allerdings zu großen Auswirkungen führt.
Es muss <?php translate(); ?> heisen und nicht < ?phptranslate(); >. Ohne das ? am Ende des php-Codes weis die Maschine natürlich nicht, was geht.
Danke für den Hinweis.
Hi,
schönes Plugin.Nur ein kleiner Bug. Du müsstest die Download Datei von wwp-translate2(de).zip‘ in wp-translate2(de).zip umbennnen! Da ist ein Häckchen hinter dem zip.
Deswegen verweigerte mein zip Programm das entpacken.
Vielen Dank für den Hinweis, leider konnte ich das Problem nicht nachvollziehen. Dabei ist mir allerdings ein anderer fehelr aufgefallen, der vielleicht zu dem Problem geführt hat. Bitte versuche es nochmal.
Liebe Grüsse Frank
He Frank,
ich entdecke ja immer mehr auf diener seite 🙂
2 Anmerkungenzu dem Plugin:
die Title Tags sind noch falsch – title=“English to German“ und english to french…
UND
kann man das ganze nicht in eine If-abfrage packen á la:
das würde den seitenaufbau nicht stören, wenn das Plugin mal deaktiviert ist!
@Ben:
habe den Fehler behoben, vielen Dank für den Hinweis.
Die Abfrage: sicher, sollte funktionieren. Habe mich damit aber nicht auseinander gesetzt. Du kannst ja den Aufruf
He Frank,
das kann man ganz leicht selbst machen (habs vom weathericon kopiert):
und fertig..
gruß,
Ben
Hallo,
wollte mich mal für das coole plugin bedanken!
Laut meinen logfiles habe ich öfters englischsprachige Besucher, es könnte sich also als nützlich erweisen.
Hallo, wie kann ich es anstellen dass ich die flaggen mal anzeigen lassen kannn und mal nicht? ich möchte einen Themeswitcher installieren und verschiedene Themes anzeigen lassen
Die img-Tags für die Flaggen-Bilder sind direkt per html im Plugin hinterlegt. Sie werden also immer aufgerufen. Ich würde das Plugin einfach kopieren, anderer Name und Funktion und diese dann jeweils nutzen.
Besser und sinnvoller ist es aber sicher wenn man die Flaggen per CSS einbindet. Das habe ich in dem Fall nur nicht gemacht, weil dann jeder Anwender sein CSS-File anpassen müsste und somit einige WP-user überfordert sind. Lösche einfach das img und füge dir eine ID oder class ein. Dann das Bild als Hintergrund aufgrund des IDs oder der class anzeigen.
LG Frank
Der Sozialticker bedankt sich für dieses hilfreiche Tool. Gerade in unserem Bereich, ist es wichtig, die verschiedenen Sprachen auf eine verständliche zu bringen.
Weiter so … der Sozialticker
Kurze Frage zum Plugin. Mit welchen Tag bekomme ich es hin, das der aktuelle Beitrag (page.html) übersetzt wird.
Habe es eingebunden in die page.html von meine Theme, aber es wird immer die Domain zurück gesprungen.
Denke mal das ich statt etwas anderes setzen muss. Aber was? Finde keinen passenden Tag in den Template Tags.
Kannst Du mir da weiter helfen?
@Tima:
Das Plugin liest die aktuelle Domain aus, arbeitest du vieleicht mit Frames. Mit dem page.html ist sicher ein Tippfehler, es muss in eine php-Datei eingebunden werden – page.php.
EDIT: Habe es mir gerade auf deiner Site angesehen, läuft doch.
LG Frank
Hallo Frank,
beid der page habe ich mich verschrieben, sorry. Ja, es ist in der page.php eingebunden. Das Problem ist, wenn ich einen Artikel lese, und dann auf dieser Seite auf Übersetzen drücke, dann sprint die übersetze Seite auf die Hauptdomain zurück (z.B. http://www.kinjin.net/2006/05/06/auf-der-suche/ -> http://www.kinjin.net/)
Hallo Timo:
habe es bemerkt, es wird aber die eigentliche Domain ausgelesen. Scheinbar gibt es da ein Problem. Schalte mal testweise die Permalinks ab oder ändere auch mal direkt im Plugin Zeile 53 ‚http://‘ in Unsinn, ob dies im Link übergeben wird oder ob die Ermittlung der Domain hakt. Kannst auch mal Zeile 53 auskommentieren, so dass sie nicht wirkt.
Gruß
Schade, dass diese Plugin nur bis WP 2.02 geht…
Hallo SuMu,
nein ist nicht richtig,läuft unter allen WP-Versonen. Nur das Widget habe ich ausschlieslich unter WP2.0* getestet.
LG Frank
Hi, ich bekomme folgende Fehler angezeigt:
Warning: Missing argument 1 for translate() in /home/www/web20/html/wp-content/plugins/wp-translate/wp-translate_de.php on line 24
Was mache ich denn falsch ?
Patrick
Hallo Patrick,
Du übergibst keinen Parameter, entweder 1 oder 2, siehe Beschriebung oben. Dabei steht 1 für vertikale und 2 für horizontale Darstellung der Flaggen.
LG Frank
Kleiner Hinweis:
Die Funktion get_settings(‚home‘) wurde (zumindest bei mir) -dazu muss man sagen, dass ich 2.0.3 benutze- falsch in der PHP-Datei des Widgets falschverwendet.
Es muss wie folgt lauten:
Ich hoffe geholfen zu haben…ist zwar nichts schlimmes, da nur die Bilder nicht angezeigt werden, aber vllt hilft es ja dem einen oder anderen.
so, ich habe das plugin nun eingebaut, leider sind 2 Fehler drin laut (http://validator.w3.org). Könntest du da noch mal gucken?
viele Grüsse
@Peter Persiel:
Danke schonmal für den Hinweis, obwihl ich auch unter WP 2.0.3 getestet habe. Kann ich den geänderten Code nochmal haben, der scheint verschluckt. Danke
@SuMu:
Die Fehler im Validator kommen durch die URL, die so nicht verstanden werden. Kannt du ignorieren. Schau es dir mit dem Validome an, der ist zuverlässiger.
LG Frank
o.k. vielen dank
ich habe nun das „installer plugin für plugins“ installiert und es kommt der hinweis: not kompatibel mit Wp 2.03 ?
„Min WP Version 1.5
Max WP Version 2.0.2“
Hallo SuMu,
bitte mehr Input. Wann bekommst du die fehlermeldung, wenn du das Plugin Translate aktivieren willst oder beim Installer-Plugin?
LG Frank
beim installer-plugin. ich werde es heute noch mal einbauen und mich melden.
heute funktioniert alles 🙁
sorry, bin manchmal zu schnell
hi, in der widget version fehlt der code für altavista…
hab ihn mir aus der normalen plugin vesion rauskopiert.
ansonsten: klasse idee!
Ein super Plugin, meinen Dank an die Entwickler.
Es stellt sich aber ein Problem, hat man die Sprache gewählt und clickt danach nochmal auf eine Flagge kommt es zu Fehlern.
Wie könnte man es anstellen, das nach der ersten Auswahl die Flaggen ausgeblendet werden ??
Grüße
Hallo Klaus,
man könnte über eine if-Abfrage die Domain abfragen, da sich die ja verändert, wenn man schon einmal die Übersetzung gewählt hat und dann einen neuen Link anbieten oder die Möglichkeit ausblendne.
LG Frank
Hallo Frank,
Das habe ich versucht, indem ich die Variablen abfragen wollte. Aber meine PHP Kenntnisse sind da leider unzureichend.
Aber wäre es nicht sinnvoll diese Sperre generell einzubauen, denn ich denke mir das andere die gleichen Probleme haben könnten. Übrigens im gleichnamigen Widget von dir ist es perfekt gelöst, dort kann man sogar wieder in die ursprüngliche Sprache zurückspringen.
Grüße Klaus
Das Plugin gefällt mir. Habe es auch in Anwendung.
Kann es sein das es die Widget Version unter WP 2.05 nicht mehr geht ?
Bekomme es unter Sidebar angezeigt und kann es auch einbauen. Aber in der Webseite selber erfolgt keine Anzeige.
Habe das Widget und die Images in den widgets Ordner gelegt unter Plugin.
Oder habe ich etwas wichtiges übersehen ?
Hallo Klaus,
habe es eben auch nochmal getestet und es funtkioniert, auc hunter WP 2.1.
*Was hast du denn für ein Problem?
LG Frank
@Klaus: Das Plugin downloaden und dann direkt in den Ordner Plugins kopieren, nicht in einen Unterorder von Widget o.ä., direkt in wp-content/plugins/
Hallo Frank,
Liegt vermutlich an meinen neuen Beta Sidebar Widget.
Auch mit deinem Vorschlag ohne Erfolg…. nutze ein anderes Script jetzt.
Trotzdem nochmals vielen Dank für die schnelle Antwort.
LG Klaus
Hi!
Das ist ein cooles Plug In. Allerdings funktioniert bei mir die 1.1. Version nur in german – english und german – french.
Bei der 2er Version wird 2 mal german – english und 1 mal german – french angezeigt. Woran kann das liegen?
Grüße
hat sich erledigt. 😉
Hallo Frank,
super plugin, vielen Dank.
Das einzige kleine Problem das ich habe:
Die Flaggen werden nicht angezeigt.
Im image folder sind sie alle drin.
Woran kann das liegen?
Neue Version, das Problem mit der Flagen-Anzeige sollte behoben sein.
Frank, vielen Dank für die schnelle Reaktion. Dank der neuen Version werden die Flaggen jetzt angezeigt. Das hat super geklappt.
Es bleibt nur noch ne „Winzigkeit“, die auch nicht eilig ist:
Die Umrandung der Flaggen sieht ein bisschen aus wie ein Trauerrand. Wenn ich die Flaggen auf meiner Seite mit denen auf Deiner Seite vergleiche, dann ist der schwarze Rand bei mir viel dicker? Woran könnte das liegen?
Aber wie gesagt, das hat keine Eile.
Noch mal vielen Dank für das Super plugin.
Dazu musst du per CSS die Bilder bearbeiten.
Bsp. ohen Border:
Hallo!
Klasse Plugin, funktioniert klasse, leider fehlen bei mir die Flaggen, es werden also nur Links angezeigt, keine Grafiken obwohl ich die aktuelle Version aufgespielt habe.
Kannst du mir da weiterhelfen? 🙂
@Florian: Bitte mal einen Link zur Site, so dass ich es mir ansehen kann.
Hi Frank, bei mir funktioniert die Übersetzung von Deutsch nach Englisch leider nicht so richtig; meine Seite wird zerstückelt dargestellt. Der Text verrutscht nach unten. Sieht gruselig aus. Funktioniert das plugin nicht mit WP 2.1.2?
Nachtrag: Ich glaube, es liegt am Firefox Browser, denn im IE funktioniert die Übersetzung, ohne den Blog total zu zerschießen, obwohl mein blog nun nicht mehr floated, sondern linksbündig am Bildschirmrand klebt. Das nur als Hinweis. Vielleicht hast Du ja nen Tipp, woran es liegt, dass Dein plugin bei mir nicht funzt, wie es soll?
Ich denke, dass es an einem Problem der Services liegt. Im Code kannst du ja auch andere anwählen, nutze Google ,wie es bei französisch auch ist, dann geht es – denk ich (siehe Anleitung).
LG Frank
Danke für Deine schnelle Antwort, Frank. Was mich wundert, ist dass es auf deiner Seite hier mit babelfish prima funktioniert, somit denke ich nicht, dass es am Service liegt. Ich habe den Fehler bei mir nicht gefunden und nutze nun erstmal google. Da ich abwechselnd deutsch und englisch schreibe, würde ich gerne die Übersetzung jeweils pro individuellem Beitrag machen, aber geht das überhaupt?
Hm, dann wird es schwierig – es muss auf jeden Fall daran liegen, dass deine Seite irgend etwas nicht überträgt, im Referer.
Wenn du für jede Seite zwei andere Sprachen anbeiten willst, dann ist das so ohne weiteres nicht möglich, du könntest aber das plugin nochmal in den plugin-Ordner kopieren, vorher die Funktion und die Datei umbennen und dann jeweils bei der Sprache, wo du schreibst, die Funktion direkt mit einem php-Plugin im Beitrag einbinden oder für jede Sprache eine eigenes Template bauen, in dem die jeweilige Translate-Funktion schon drin ist.
Vielen Dank für Deinen Rat, Frank!! Mit meinen minimalen web development Kenntnissen (räusper) habe ich die Funktion umbenannt und aus der einen Datei nun zwei gemacht; einmal für die deutsche und einmal für die englische Übersetzung. Die Funktion habe ich via php im Beitrag eingebunden, so dass im englischen Beitrag die deutsche Flagge erscheint und im deutschen Beitrag die englische Flagge.
Was ich jedoch nicht hinbekommen habe, ist, dass beim Klick auf die jeweilige Flagge auch nur der jeweilige Beitrag übersetzt wird und nicht, wie es das plugin vorsieht, die gesamte Webseite. Dazu reichen meine Kenntnisse leider nicht. Vielleicht hat ja ein Leser (oder der Autor) eine Idee?
Hallo Frank,
Wordpress 2.2 gibt an, dass das Plugin einen „fatalen Fehler“ erzeugt hat. Weißt Du da schon mehr?
Hy Tobbi, danke für den Hinweis, 2.2 bringt eine eigene Funktion mit, die den gleichen Namen benutzt. Habe es geändert und hochgeladen, bitte neue Version nutzen.
Super, danke für das Update Frank. Werde es gleich ausprobieren.
Gruß,
Tobbi
Hallo Frank,
danke hat funktioniert. Ein Problem habe ich aber dennoch, welches ich jedoch auch schon vorher hatte. Aufgrund fehlenden mod_Rewrite-Rechts auf meinem Server sieht meine Permalinkstruktur wie folgt aus:
/index.php/%category%/%year%-%monthnum%-%day%-%postname%/
So nun zum Problem: WP Translate schneidet nach index.php den restlichen Pfad ab, sodass nur ein übersetzen der Haupt-, nicht aber der Unterseiten möglich ist.
Gibt es da eine Möglichkeit die Pfadauflösung dementsprechend zu ändern, dass es möglich ist, WP-Translate auch mit solchen Permalinks nutzen zu können?
Danke im voraus.
Gruß,
Tobbi
Hallo Frank,
Ich habe gerade auf WP2.2 upgedated, toll dass Du auch dieses Plugin schon auf Vordermann gebracht hast, danke!
Tipp: im Plugin V:2.5 selbst solltest Du noch das Einbinden korrigieren auf den neuen Funktionsnamen wpfb_translate. Das hatte ich hier überlesen…
Danke für den Hinweis, soeben nachgeholt.
Das ist richtig so, es wird lediglich index.php übergeben, die eigentliche Adresse ist im Referer des jeweiligen Übersetzungsservice.
@Frank,
gibt es denn eine Möglichkeit, das so zu „frisieren“, dass die ganze Adresse übergeben wird? =)
Gruß,
Tobbi
@Tobbi: ja, dazu muss die komplette URL ausgelesen werden, siehe php.net und an die Variable $currenturl übergeben werden.
@Frank,
ich habe die Zeile
$currenturl = $_SERVER["PHP_SELF"];
durch die Zeile
$currenturl = $_SERVER["REQUEST_URI"];
ersetzt.Jetzt funktioniert es. Danke 😉
Hi,
ich habe die Version 2.3.2 von WP. Nachdem ich das Plugin vorhin aktiviert habe sehe ich leider kein neues Feld bei den Widgets.
Woran kann das liegen?