Support » Allgemeine Fragen » Individuelle Übersetzung eines PlugIn

  • Moin,

    wie kann ich eine individuelle Übersetzung für ein Plugin erstellen, welche mir bei einem Plugin update nicht verloren geht?
    Ich habe bereits ein Childtheme im Einsatz.
    Es geht um das PlaugIn TML.

    Irgendwie habe ich den ganzen Übersetzungsprozess von WordPress nicht verstanden. Wäre schön wenn ich eine gute Erklärung über den Ablauf hätte und daraus auch erkennen könnte was geht und was nichtv geht.

    Vielen Dank für Hilfe.
    Dieter

Ansicht von 14 Antworten - 1 bis 14 (von insgesamt 14)
  • WordPress bietet zur Internationalisierung verschiedene Funktionen an.
    Während du in PHP mit dem Befehl echo 'Hello Dolly!'; den Textstring Hello Dolly ausgibst, kann mit dem Befehl _e ('Hello Dolly', 'tolles-plugin'); einen Text hinzufügen, der von Übersetzungsprogrammen wie poedit ausgelesen wird. Üblicherweise siehst du dann in den Übersetzungsprogrammen zwei Textspalten, links den Original-Textstring und rechts ein Feld für deine Übersetzung. Die Übersetzung wird als Datei mit der Endung .po (für Portable Object) und .mo (für machine readable object, also binär) abgespeichert. Die Funktion _e gibt an, dass die Übersetzung ausgegeben wird. Der erste Parameter der Funktion ist der ursprüngliche Text, der zweite Parameter die so genannte Textdomain, also eine zweifelsfreie Angabe, welche Übersetzung verwendet werden soll (damit gleiche Wörter je nach Plugin unterschiedlich übersetzt werden können).

    Wenn Plugins in das WordPress-Repository hochgeladen werden, erfolgt automatisch eine Übertragung in WordPress‘ eigenes Übersetzungsprogramm GlotPress. Auf der Webseite für unsere deutschsprachige Locale werden alle Plugins, Themes und WordPress selbst aufgeführt und wer mag kann sich gerne an der Übersetzung beteiligen. Die Übersetzungen werden dann von Redakteuren geprüft und freigegeben. Ist eine Übersetzung zu 100% abgeschlossen, wird die Sprachdatei als automatische Aktualisierung auf allen WordPress-Websites installiert, auf denen das Plugin vorhanden und die Spracheinstellungen entsprechend eingestellt werden. Eine ausführlichere Beschreibung findest du hier: https://de.wordpress.org/mitwirken/uebersetzung-erste-schritte/

    Ein beliebtes Plugin, mit dem Anwender eigene Übersetzungen in ihrer WordPress-Installation erstellen können ist Loco Translate.

    Vielen Dank für die Erläuterungen zum Übersetzungsprozess. Ich habe mich da bereits als Übersetzer angemeldet.
    Allerdings geht es bei dem Plugin TML einfach nicht weiter.
    Ich würde gern eine eigene auf meine Seite zugeschnittene Übersetzung erstellen, diese im Child Theme sichern, so dass sie mir bei einem update des plugins nicht verloren geht.
    Ich bin mir nicht sicher ob ich das mit Loco Translate erreichen kann.

    „TML“ sagt mir nichts. Wie lautet denn der richtige Name des Plugins?
    Mit Child Themes hat die Übersetzung von Plugins nichts zu tun.

    Das Plugin heist „Theme my Login“.
    Dass die Übersetzung eines Plugins nichts mit dem Child Theme zu tun hat ist mir klar.
    Aber so wie ich templates von Plugins in einem Childtheme abspeichern kann und wie diese dann genutzt werden, dachte ich dass es so eine Lösung auch für Übersetzungen gibt.
    Damit könnte ich dann sicherstellen, dass die Übersetzungen bestehen bleiben, auch wenn das Plugin aktualisiert wird.

    Hallo Dieter,

    wie kann ich eine individuelle Übersetzung für ein Plugin erstellen, welche mir bei einem Plugin update nicht verloren geht?

    damit deine eigenen Übersetzungen nicht beim nächsten Plugin-Update überschrieben werden, legst du dir zunächst, falls nicht bereits vorhanden, den Ordner wp-content/languages/plugins an. Dieser plugins-Ordner muss beschreibbar sein, Berechtigungen 755 für den Ordner, 644 für die Dateien darin. Somit liegen deine Übersetzungen später nicht im Ordner wp-content/plugins, wo sie beim nächsten Plugin-Update überschrieben würden, sondern im globalen Sprachenordner.

    Anschließend übersetzt du mit dem oben schon von Bego empfohlenen Plugin „Loco Translate“ die Datei theme-my-login.pot, die sich im languages-Ordner deines TML-Plugins befindet.

    Wie das mit der Übersetzung funktioniert, wird beispielhaft hier für die Übersetzung von Themes erklärt. Bei Plugins funktioniert es analog.

    Probiers mal aus, ich habe es noch nicht selbst gemacht, aber so müsste es meinem Verständnis nach recht einfach funktionieren.
    Troubleshooting-Abschnitt in der verlinkten Anleitung natürlich auch lesen. 😉

    Das habe ich ausprobiert und es funktioniert.
    Vielen Dank für diese Empfehlung.
    Ich glaube aber, dass die offiziellen Übersetzungen des Glotpressdienst auch in diesen Ordner gespeichert werden.
    Wenn also eine Übersetzung des Plugins von diesem Team als Aktualisierung übertragen wird, werden die von mir erstellten Dateien, die ja den gleichen Namen haben, überschrieben. Dann war meine Arbeit wieder umsonst.
    Dieser Aspekt der individuellen Übersetzung scheint mir in WordPress nicht berücksichtigt zu sein. Könnte das in die Wunschliste für die nächste Version aufgenommen werden.

    @helmu

    Das habe ich ausprobiert und es funktioniert.

    Freut mich!

    Ich glaube aber, dass die offiziellen Übersetzungen des Glotpressdienst auch in diesen Ordner gespeichert werden.
    Wenn also eine Übersetzung des Plugins von diesem Team als Aktualisierung übertragen wird, werden die von mir erstellten Dateien, die ja den gleichen Namen haben, überschrieben. Dann war meine Arbeit wieder umsonst.

    Ich beschäftige mich erst seit 6 Monaten mit WordPress, bin also kein Experte, und zu WordPress-spezifischen Übersetzungsfragen wird dir Bego Genaueres sagen können, weil er da selbst sehr engagiert und involviert ist.

    Meinem derzeitigen Verständnis nach brauchst du dir allerdings bzgl. deiner Übersetzungsdateien des TML-Plugins keine Sorgen zu machen, wenn du diese, wie von mir empfohlen, im Ordner wp-content/languages/plugins abgelegt hast:

    Wenn ich das richtig sehe, liegen im Ordner wp-content/languages von Haus aus nur die offiziellen Übersetzungen von *Standard*-Plugins und *Standard*-Themes, derzeit also die Sprachdateien der drei Twenty-Themes und des Akismet-Plugins. Die offiziellen Übersetzungen aller anderen Plugins liegen meines Wissens nach jeweils im Ordner wp-content/plugins/name-des-plugins/languages, also einem ganz anderen Ordner, und werden bei Updates überschrieben.

    Insofern brauchst du meiner Meinung nach nicht besorgt zu sein.
    Bego wird mich verbessern, falls ich mich irren sollte.

    Dann war meine Arbeit wieder umsonst.

    Selbst wenn ich mich irren sollte: Umsonst wäre deine Arbeit ja sowieso nicht, denn du hast dir natürlich Sicherheitskopien deiner Übersetzungsdateien angelegt, die du jederzeit wieder dahin kopieren könntest. 😉

    Hallo Flower33
    Erst mal vielen Dank für Deine Ausführungen.
    Die offiziellen Übersetzungen von Plugins liegen im Ordner wp-content/languages/plugins/ nicht mehr im ordner wp-content/plugins/name-des-plugins/languages.
    Das ist gerade die wesentliche Änderung mit Einführung des Übersetzungsdienstes. Damit wurde dem Plugin Entwickler die Arbeit die Übersetzungen zu Pflegen abgenommen. Er muss nur für die .pot Datei sorgen.
    Damit bleibt meine Sorge in Bezug auf das Überschreiben bestehen.

    Könnte denn bitte Bego was dazu sagen?

    Hallo Dieter,

    Die offiziellen Übersetzungen von Plugins liegen im Ordner wp-content/languages/plugins/ nicht mehr im ordner wp-content/plugins/name-des-plugins/languages.

    Bego wird sicherlich noch was dazu sagen – aber aus meiner persönlichen Erfahrung kann ich obige Aussage nicht als allgemeingültig bestätigen: Zum Beispiel liegen bei meiner Installation (aktuelle WordPress-Version 4.5.3) die offiziellen Übersetzungsdateien (zig Sprachen) für das bekannte Backup-Plugin „UpdraftPlus“ ohne mein Zutun hier:
    wp-content/plugins/updraftplus/languages
    Spannendes Thema.

    Hallo Dieter,

    ich habe eben mal noch kurz recherchiert und dabei einen interessanten Artikel gefunden, der uns der Lösung ein gutes Stück näher bringt, wie mir scheint, und dabei zeigt, dass weder deine noch meine Aussage „allgemeingültig“ ist.
    Es kommt halt, wie immer, drauf an… 😉
    Hier der Artikel:
    Samuel Wood (Otto)
    http://ottopress.com/2013/language-packs-101-prepwork/

    Ich muss noch was anderes erledigen und habe heute Abend nicht mehr die Zeit, mir noch darüber klar zu werden, wo genau angesichts dieser (ja schon seit WP 3.7 existierenden, also gar nicht mehr so neuen) Entwicklung nun eine „private“ Plugin-Übersetzung am sichersten liegt und vor dem Überschriebenwerden gefeit ist. Im Moment scheint es mir, nach dem ersten Lesen des Artikels, dass das gar nicht so eindeutig zu sagen ist, weil das auch von der Entscheidung des Autors abhängt.
    Otto schreibt da z.B.:

    This gives the plugin or theme authors the ability to continue to manage their translations themselves, as they’ve always done, or use the new language pack system and let WordPress.org manage it for you.

    Du kannst dir Ottos Text ja auch mal in Ruhe durchlesen und dir deine Gedanken machen. Falls es mir morgen beim nochmaligen Lesen noch nicht 100% klar ist, ob es einen *generell* sicheren Platz für „private“ Übersetzungsdateien gibt, frage ich mal bei Otto im englischen Forum nach.
    Dann bis morgen oder übermorgen!

    Nachtrag
    Ah, sehr gut, sehe grade noch, dass unten in den Kommentaren zu dem verlinkten Artikel deine/unsere konkrete Fragestellung sogar explizit diskutiert wird und Lösungsmöglichkeiten aufgezeigt werden!

    Allerdings geht es bei dem Plugin TML einfach nicht weiter.

    Ich habe heute Vormittag die noch offenen Übersetzungen für die informelle Übersetzung („Du“) geprüft, ergänzt, korrigiert und freigeschaltet.

    Das es „einfach nicht weiter“ geht, kann einerseits damit zu tun haben, dass niemand im Community-Slack auf https://dewp.slack.com/messages/polyglots bescheid gesagt hat. Andererseits erfolgt die redaktionelle Bearbeitung von Freiwilligen in ihrer Freizeit. Da kann es schon mal etwas dauern.

    Die Übersetzung enthielt außerdem einige „Schönheitsfehler“, etwa wenn Website als Webseite übersetzt wurde (was dann zu so lustigen Sätzen wie „Gehe zur Startseite deiner Webseite“ (?) führt und eher zur Verwirrung beiträgt). Dafür haben wir ein Glossar, das bei Übersetzungen berücksichtigt werden sollte.

    Hallo Dieter,

    noch mal zu deiner Frage bzgl. der Sicherheit deiner Übersetzungen vorm Überschreiben:

    Schau dir mal diesen Artikel an (die anderen dort lohnen sich auch!), da wird sehr ausführlich auf das Thema Schutz vorm Überschreiben bei Updates eingegangen.

    Ronnie Zeiller widmet sich hier im Detail einigen Lösungsansätzen, auf die ich gestern in meinem Nachtrag mit Blick auf die Kommentare unter dem Artikel von Otto schon hingewiesen hatte. Einen der Kommentatoren habe ich übrigens bzgl. der nötigen Funktionen und Filter angeschrieben, bis jetzt allerdings noch keine Antwort erhalten. Falls da noch zusätzliche Infos kommen sollten, melde ich mich noch mal.

    Aber der Artikel von R. Zeiller geht ja bereits detailliert auf die Problematik ein und ist absolut lesenswert und vielversprechend, wie ich finde. Dürfte dir auch gefallen. Updates ganz unten auch lesen!

    Ich bin überwältigt, soviel Beteiligung, einfach super.
    Ich bin in der kommenden Woch leider nicht verfügbar melde mich dann aber bestimmt wieder zurück.
    Vielen Dank erstmal an alle.

    helmu

    (@helmu)

    Moin,
    zuerst ein Feedback an BEGO: Vielen Dank, bei der Plugin Übersetzung von Theme My Login hat sich nun doch etwas getan und darüber freue ich mich. Dass es da manchmal etwas länger dauern kann, verstehe ich. Auch ich habe, obwohl ich Rentner bin, auch nicht immer Zeit und Lust.

    Nun zu Flower33, auch hier noch mal vielen Dank. Ich werde in der kommenden Woche den Artikel von Ronnie Zeiller ausprobieren, wenn das klappt bin ich happy, hört sich vielversprechend an.

Ansicht von 14 Antworten - 1 bis 14 (von insgesamt 14)
  • Das Thema „Individuelle Übersetzung eines PlugIn“ ist für neue Antworten geschlossen.