WooCommerce – Übersetzungsproblem
-
Hallo zusammen! Ich nutze WooCommerce (DE formal) sowie zusätzlich WooCommerce Germanized. Die Übersetzungen sind alle korrekt. Nur werden sie im Kundenbereich an 2-3 Stellen nicht angezeigt (siehe hier: https://picload.org/image/rraopdrc/screenshot.png)
Ich hab alles gefühlte tausend mal probiert. Von der kompletten Neu-Installation bis über PO und Mo neu anlegen und hochladen. Wenn ich die entsprechenden Strings lokalisiere, wird mir als Quelle die PO-Datei des WooCoomerce Plugin ausgegeben (also nicht WooCommerce Germanized). In der PO-Datei des WooCoomerce Plugin ist aber alles korrekt übersetzt. Ich verstehe nicht, warum an dieser Stelle nicht die richtige Übersetzung gezogen wird. Ich muss die Website nächste Woche übergeben und bin am Ende meines Lateins. Gibt es noch jemanden, der dieses Problem hatte und lösen konnte?Achso, im Theme an sich ist dieser String nicht zu finden, der kommt tasächlich aus WooCommerce…
-
@strellegedanser
1)
Mit welchem Tool wurden deine Übersetzungsdateien erstellt?
2)
Kannst du bitte mal für jede einzelne der in Frage kommenden Übersetzungsdateien von WooCommerce und WooCommerce Germanized den genauen Pfad bis hin zur Datei-Extension angeben?
Beginnend mit
wp-content/plugins/und-der-ganze-rest
bzw.
wp-content/languages/und-der-ganze-rest
Also die Datein waren ja im Prinzip schon da. Habe sie aber mit dem Programm Poedit etwas angepasst und entsprechen die MO Dateien exportiert.
Die Sprachdateien liegen nun in folgenden Verzeichnissen:
wp-content/plugins/woocommerce/i18n/languages/woocommerce-de_DE.mo
wp-content/plugins/woocommerce/i18n/languages/woocommerce-de_DE.po
wp-content/plugins/woocommerce/i18n/languages/woocommerce-de_DE_formal.mo
wp-content/plugins/woocommerce/i18n/languages/woocommerce-de_DE_formal.po
wp-content/plugins/woocommerce/i18n/languages/woocommerce-germanized-de_DE.mo
wp-content/plugins/woocommerce/i18n/languages/woocommerce-germanized-de_DE.po
wp-content/plugins/woocommerce/i18n/languages/woocommerce-germanized-de_DE_formal.mo
wp-content/plugins/woocommerce/i18n/languages/woocommerce-germanized-de_DE_formal.posowie in
wp-content/languages/plugins/woocommerce-de_DE.mo
wp-content/languages/plugins/woocommerce-de_DE.po
wp-content/languages/plugins/woocommerce-de_DE_formal.mo
wp-content/languages/plugins/woocommerce-de_DE_formal.po
wp-content/languages/plugins/woocommerce-germanized-de_DE.mo
wp-content/languages/plugins/woocommerce-germanized-de_DE.po
wp-content/languages/plugins/woocommerce-germanized-de_DE_formal.mo
wp-content/languages/plugins/woocommerce-germanized-de_DE_formal.poWobei für mich die „formal“ eine Rolle spielen. Hab aber auch schon auf „Du“-Form umgestellt, alle gelöscht, erst nur das eine Verzeichnis befüllt, dann wieder gelöscht und das andere Verzeichnis befüllt… egal was ich mache, es funktioniert nicht. Hab mir Loco Translate installiert aber da kann ich auch nichts mehr anpassen, da die Dateien vollständig übersetzt sind.
Das heißt, jede Datei liegt bei dir *doppelt* vor?
Hast du überprüft, dass *jede* der von dir vermissten deutschen Übersetzungen tatsächlich *an beiden Orten* vorhanden ist (sorgfältiger Dateivergleich)?Kannst du bitte auch mal noch kurz nachschauen, ob im Pfad
wp-content/languages/woocommerce/
bei dir keine Woo-Übersetzungen liegen?Nein, die liegen noch mal unter ‚languages‘ im extra Verzeichnis Plugins – quasi
wp-content/languages/plugins/…Es sind alle Dateien doppelt vorhanden. Unter wp-content/languages/plugins/… sowie auch im jeweiligen Plugin Ordner.
Nein, die liegen noch mal unter ‚languages‘ im extra Verzeichnis Plugins – quasi
wp-content/languages/plugins/…Kannst du dich bitte etwas präziser ausdrücken?
Mir fehlt der logische Bezug für „die“ und ich weiß nicht, worauf sich die Verneinung bezieht.Es sind alle Dateien doppelt vorhanden.
Das hatte ich ja bemerkt und deshalb gefragt:
Hast du überprüft, dass *jede* der von dir vermissten deutschen Übersetzungen tatsächlich *an beiden Orten* vorhanden ist (sorgfältiger Dateivergleich)?
Nein, in diesem Pfad (welchen Du genannt hast) wp-content/languages/woocommerce/ befinden sich keine Woo-Sprachdateien. Die Woo-Sprachdateien befinden sich in einem weiteren Unterverzeichnis: wp-content/languages/plugins (wie auch alle anderen Sprachdateien der verschiedensten Plugins).
Danke für die Präzisierung.
Ich stelle noch mal die Frage, weil sie für dein Problem relevant sein könnte:Hast du überprüft, dass *jede* der von dir vermissten deutschen Übersetzungen tatsächlich *an beiden Orten* vorhanden ist (sorgfältiger Dateivergleich)?
Mit *an beiden Orten* meine ich: in beiden oben von dir angegebenen Pfaden
wp-content/plugins/woocommerce/i18n/languages/
und
wp-content/languages/plugins/
Nachtrag
Ich würde zum Nachprüfen beispielsweise mal den Hello-String (von deinem Screenshot) raussuchen und schauen, ob der *tatsächlich* an beiden Orten / in beiden Pfaden in deutscher Übersetzung vorliegt.
Ich bin kein Experte und lasse mich gerne eines Besseren belehren, aber es scheint mir fehleranfällig und daher nicht „im Sinne des Erfinders“ zu sein, dass die Übersetzungsdateien bei dir doppelt existieren. Da musst du ja immer genau überprüfen, wo die Dateien mit den aktuellen Änderungen abgelegt werden. Ich denke nicht, dass z.B. Poedit die generierten .mo-Dateien doppelt ablegt.
Hier vermute ich im Moment eine mögliche Ursache für dein Problem.
In welchem der beiden o.g. Pfade hast du denn (welche) Übersetzungsdateien von Hand eingefügt?
Hast du eine lokale Test-Installation zur Verfügung?@strellegedanser
Nach der eingangs betonten Dringlichkeit verwundert es etwas, dass keine Rückmeldung mehr zwecks Fortsetzung der Problembehandlung kommt… 😉
Oder wurde das Problem inzwischen behoben? Falls ja, wie?Hallo…. kurze Rückmeldung: Ich habe mehr oder weniger aufgegeben. Ich habe wieder zurückgestellt auf die „informelle“ Deutsch-Sprachdatei. Damit ist alles wunderbar übersetzt. Ich mache mir jetzt die Arbeit und übersetze die Strings manuell von „Du“ zu „Sie“. Das ist ne Schweinearbeit, die aber nun schneller geht als weiter über diesem Problem zu brüten.
Ich habe heute mehrere Artikel im Netz gefunden, dass es generell noch Schwierigkeiten mit den formellen Sprachdateien gibt, insbesondere mit Verwendung gewisser Plugins. Zum Beispiel kann sich Loco Translate die formellen Sprachdateien auch nicht ziehen geschweige denn bearbeiten.Hallo @strellegedanser
Ich habe mehr oder weniger aufgegeben.
Das ist schade, so schwierig kann die Problemlösung eigentlich nicht sein. Allerdings ist es, ohne deine entsprechenden Ü-Dateien selbst vorliegen zu haben, von außen natürlich extrem schwierig, zu beurteilen, was genau du bisher mit welchem Plugin (LOCO oder POEdit) bzw. welchen Ü-Dateien der beiden fraglichen WooCommerce-Plugins schon gemacht hast und wo deshalb was schiefgelaufen ist.
1)
Mögliche Ursachen wären z.B., dass du zwar die .po-Dateien übersetzt hast, sie aber nicht, gemeinsam mit den aus den vorgenannten generierten und zwingend dazugehörigen .mo-Dateien, in dem richtigen Ordner abgespeichert hast, aus dem WooCommerce die Übersetzungen zieht. Bzw., dass in den einzelnen Ordnern unterschiedliche Versionen liegen und damit eventuell in dem Ordner, auf den WooCommerce als Erstes zugreift, eine nicht aktuelle oder nicht geänderte Version liegt.2)
Je nachdem, ob das Plugin WooCommerce Germanized schon mal upgedatet wurde oder nicht, liegen dessen Übersetzungsdateien übrigens auch nicht mehr im ursprünglichen Ordner (wp-content/plugins/woocommerce-germanized/i18n/languages
), sondern an einem anderen Ort (wp-content/languages/plugins/woocommerce-germanized
) und müssen daher nach etwaigen Änderungen also auch wieder an diesem neuen Ort abgespeichert werden. (Das ist, so vermute ich mittlerweile, auch der Grund für das oben von mir beanstandete *doppelte* Vorkommen, zumindest der WooGer-Dateien.)3)
Ich mache mir jetzt die Arbeit und übersetze die Strings manuell von „Du“ zu „Sie“. Das ist ne Schweinearbeit, die aber nun schneller geht als weiter über diesem Problem zu brüten.
Da musst du nur aufpassen, dass dir die mühevoll erstellten Übersetzungen nicht beim nächsten Update überschrieben werden, je nachdem, wo du sie abspeicherst.
Wie genau gehst du da denn vor? .po-Datei manuell übersetzen und dann mit POEdit die .mo-Datei generieren, oder wie? Warum dann nicht gleich auch die Übersetzung mit POEdit machen? Da ist mir dein jetziges Vorgehen nicht so richtig klar.
Hast du zwischendurch mal getestet, ob diese manuellen String-Übersetzungen denn nun auch tatsächlich angezeigt werden?4)
dass es generell noch Schwierigkeiten mit den formellen Sprachdateien gibt, insbesondere mit Verwendung gewisser Plugins. Zum Beispiel kann sich Loco Translate die formellen Sprachdateien auch nicht ziehen geschweige denn bearbeiten.
Der Plugin-Autor hat da einen Workaround vorgeschlagen (Problem für LOCO sind zu viele Zeichen in „formal“): aus de_DE_formal.po einfach vor dem Einsatz von Loco Translate de_DE_ZZ.po machen und nach erfolgter Bearbeitung die beiden po/mo-Dateien wieder in „formal“ umbenennen.
5)
Eine weitere Möglichkeit, warum eigene Änderungen nicht angezeigt werden, wäre übrigens, dass eine nach vorgenommenen Änderungen abgespeicherte Übersetzung im entsprechenden Ordner mittlerweile schon wieder *durch ein Update überschrieben* wurde.6)
BTW: Für das richtige Funktionieren der förmlichen Variante sollte dieselbe natürlich auch in den WP-Einstellungen ausgewählt worden sein. Damit es bei fehlenden formal-Strings kein Zurückfallen auf die englische Version gibt, kann man ein Plugin von Bernhard Kau einsetzen, sodass in solchen Fällen auf die normale deutsche Version zurückgegriffen wird:
https://wordpress.org/plugins/language-fallback/7)
In der PO-Datei des WooComerce Plugin ist aber alles korrekt übersetzt. Ich verstehe nicht, warum an dieser Stelle nicht die richtige Übersetzung gezogen wird.
Wenn du Lust und Interesse hast, könntest du mal testweise noch einen „Trick“ ausprobieren, damit deine Übersetzungsänderungen tatsächlich von WooCommerce *als Erstes* geladen werden.
Lege dir, falls noch nicht vorhanden, im Ordnerwp-content/languages
den Ordnerwoocommerce
an und lege die von dir anfangs als korrekt übersetzt bezeichnete .po-Datei sowie natürlich auch die daraus generierte .mo-Datei mit folgendem Namen darin ab.
Das würde dann so aussehen:
wp-content/languages/woocommerce/my-wootrans-de_DE_formal.po
wp-content/languages/woocommerce/my-wootrans-de_DE_formal.mo
Jetzt mit Hilfe eines Skripts des WooCommerce-Autors Mike Jolley dafür sorgen, dass diese deine Übersetzungen tatsächlich als Erstes geladen werden.
Den Code würde ich über das Plugin „Code Snippets“ eintragen.// Code to be placed in functions.php of your theme or a custom plugin file. add_filter( 'load_textdomain_mofile', 'load_custom_plugin_translation_file', 10, 2 ); /* * Replace 'textdomain' with your plugin's textdomain. e.g. 'woocommerce'. * File to be named, for example, yourtranslationfile-en_GB.mo * File to be placed, for example, wp-content/lanaguages/textdomain/yourtranslationfile-en_GB.mo */ function load_custom_plugin_translation_file( $mofile, $domain ) { if ( 'woocommerce' === $domain ) { $mofile = WP_LANG_DIR . '/woocommerce/my-wootrans-' . get_locale() . '.mo'; } return $mofile; }
Bei erfolgreichem Test:
Mit den Übersetzungen für WooCommerce Germanized würde man dann analog vorgehen (neue Ordner, Textdomain und Dateinamen müssten entsprechend angepasst werden).Ich muss die Website nächste Woche übergeben
Da du das für einen Kunden machst, nehme ich mal an, dass du über eine lokale Test-Installation verfügst. Wie auch immer: vor etwaigen Tests natürlich ein Backup anlegen. 😉
Alle Aussagen und Überlegungen nach bestem Wissen und Gewissen 😉
1000 Dank für Dein unermüdliches Helfen!! Lösungsvorschläge 1,2,3 und 5 sind bereits mehrfach probiert, in sämtliche Richtungen, von daher schließe ich sie aus. Vorschlag 4 war mir neu, hat aber leider nicht funktioniert. Es ist ja aber auch alles korrekt übersetzt (in den PO Dateien wie auch in den exportierten MO Dateien). Lösungsvorschlag 6 funktioniert nicht, bzw ändert sich das nicht und der Fallback wird mehr oder weniger ignoriert. Das Ganze läuft nach wie vor nur in der „informellen“ Version einwandfrei.
Ich habe die Website nun erst mal zum Kunden zur Freigabe gegeben und bin jetzt zwei Wochen im Urlaub. Den hab ich mir verdient, nachdem ich mir da jetzt 1 Woche lang die Zähne ausgebissen habe!
Ich werde hinsichtlich dieses Problems weiterhin die Augen und Ohren offen halten. Und mich ggf. hier zurückmelden wenn ich einen guten Lösungsansatz gefunden habe.
Also, lieben Dank noch mal für den Einsatz!Hallo ihr zwei,
ich habe jetzt genau das gleiche Problem und möchte das gerne manuell lösen, wie es strellegedanser letztendlich getan hat.
Ich habe nun die Dateien „woocommerce-germanized-de_DE.po“ sowie „woocommerce-de_DE.po“ jeweils in den beiden Ordnern geändert (also den Text). Nun komme ich nicht weiter.
Die Mails sind nach wievor in der Form, die ich nicht haben will. Warum übernimmt er meine Texte nicht?
Welche Schritte fehlen noch?Ich freue mich wirklich sehr, wenn ihr mir helfen könnt, Deadline ist schon am Montag…..
Liebe Grüße
Hallo,
da deine Angaben leider nicht präzise sind, muss ich nachfragen:
(1)
Hast du in den beiden informellen Dateien „woocommerce-germanized-de_DE.po“ sowie „woocommerce-de_DE.po“ manuell die informelle (du) in die formelle Variante (Sie) geändert?(2)
Hast du aus den beiden .po-Dateien die entsprechenden .mo-Dateien generiert und, falls ja, mit welcher Software?(3)
In welche Ordner genau hast du dann welche Dateien genau kopiert?- Diese Antwort wurde geändert vor 8 Jahren, 1 Monat von Flower33.
(1) Ja genau, das habe ich gemacht.
(2) nein, wie muss ich da vorgehen? Was meinst du mit generieren?
(3) Die Dateien habe ich da gelassen, wo sie vorher auch waren, also überschrieben. Also in den Verzeichnissen, wie oben schon beschrieben…
Kannst du mir helfen? dann scheitert es wahrscheinlich wegen dem 2. Punkt?
- Das Thema „WooCommerce – Übersetzungsproblem“ ist für neue Antworten geschlossen.