WPML
Status
Gelöst
Gelöst in
4.2.0

Übersicht über das Problem

Update 13.08.2020:

Seit WPML 4.2.0 werden die JavaScript-Übersetzungsdateien (JED) importiert und die Übersetzungen können angepasst werden. WPML erstellt seine eigenen JED-Dateien mit benutzerdefinierten Übersetzungen.

Wir haben versucht, die Funktion zum Durchsuchen von Strings in JS-Dateien zu implementieren, haben dies jedoch aufgrund technischer Einschränkungen aufgegeben:

- Jeder String sollte mit der geladenen JS-Datei verknüpft sein.

- Die geladene Datei ist normalerweise eine kompilierte Datei (z. B. Babel / Webpack), in der Strings nicht richtig erkannt werden können.

- Selbst wenn wir die kompilierte Datei jemals mit den Quelldateien verknüpfen könnten, sind diese Quelldateien normalerweise aus den veröffentlichten Versionen von Plugins/Themes ausgeschlossen, sodass es für die meisten Benutzer nutzlos wäre.

Wenn Sie Themes oder Plugins mit Strings in JS-Dateien erstellen, empfehlen wir, beim Kompilieren des JS-Skripts eine POT-Datei zu erstellen (siehe auch https://developer.wordpress.org/block-editor/developers/internationalization/#provide-your-own-translations).

Der WordPress-Block-Editor („Gutenberg“) bringt eine neue Strategie für die String-Übersetzung mit. Es ist nun möglich, einen String innerhalb einer JavaScript-Funktion zu übersetzen. Die Konsequenz dieser neuen Funktion ist, dass alle Strings des zugehörigen Skripts browserseitig geladen werden müssen. Dies ist nicht kompatibel mit der aktuellen Strategie von WPML, die Übersetzungen zu durchsuchen und zu filtern.

Da sich der Code des Block-Editors schnell weiterentwickelt, haben wir beschlossen zu warten, bis er in WordPress integriert ist und über eine klare und stabile API verfügt. In der Zwischenzeit werden alle String-Übersetzungen im Block-Editor über die Standard-WordPress-API geladen, unabhängig von den WPML-Lokalisierungseinstellungen. Aus diesem Grund werden die Strings des Block-Editors nicht mit der WPML String-Übersetzung übersetzt.

Dies sollte die Benutzererfahrung nicht zu sehr beeinträchtigen, da diese neue Funktion nur im Backend (Block-Editor) verwendet wird und bereits weitgehend von der Community übersetzt ist.

Alle bekannten Probleme →