Navigation überspringen

Dieses Thema ist gelöst. Hier finden Sie eine Beschreibung des Problems und der Lösung.

Problem:
Der Kunde hat Probleme mit der Übersetzung von WooCommerce-Strings in anderen Sprachen, obwohl die Übersetzung in Englisch funktioniert. Er verwendet

add_filter('gettext', ...)

um 'View cart' zu 'View request' zu ändern, sieht die Änderungen in der String Translation, aber in anderen Sprachen wie Deutsch bleibt der Originaltext 'Warenkorb anzeigen' erhalten.
Solution:
Wir haben festgestellt, dass das Problem möglicherweise nicht mit WPML zusammenhängt, sondern eine Einschränkung von WordPress oder WooCommerce sein könnte, die eigene Übersetzungen bevorzugt. Wenn Deutsch die Standardsprache der Website ist und das Problem auch auftritt, wenn WPML deaktiviert ist, liegt es wahrscheinlich an WordPress oder WooCommerce. In diesem Fall empfehlen wir, für jede Sprache einen separaten gettext() Filter zu verwenden.

Falls diese Lösung veraltet ist oder nicht auf Ihr Problem zutrifft, empfehlen wir Ihnen, ein neues Support-Ticket zu öffnen. Wir empfehlen auch, die Seite mit bekannten Problemen (https://wpml.org/known-issues/) zu überprüfen, die Version der dauerhaften Lösung zu verifizieren und zu bestätigen, dass Sie die neuesten Versionen von Themes und Plugins installiert haben. Für weitere Unterstützung besuchen Sie bitte unser Support-Forum: WPML Support-Forum.

Dies ist das technische Support-Forum für WPML – das mehrsprachige WordPress-Plugin.

Mitlesen können alle, doch nur WPML-Kunden können hier Fragen veröffentlichen. Das WPML-Team antwortet im Forum an 6 Tagen pro Woche, 22 Stunden am Tag.

Schlagwörter: ,

Dieses Thema enthält 1 Antwort, hat 0 Stimmen.

Zuletzt aktualisiert von Jan Sass Vor 4 Wochen.

Assistiert von: Andreas W..

Verfasser Beiträge
März 13, 2025 at 1:12 pm #16812006

Jan Sass

Hintergrund des Themas:
Ich überschreibe einige Strings in WooCommerce per Plugin mit add_filter('gettext', function($translated_text) { if ('View cart' === $translated_text) { $translated_text = __('View request', 'echolot-digital-functions'); } Das funktioniert für die englische Fassung sehr gut. Die neuen Strings sehe ich auch sofort in der String Translation und vergebe dort die passenden Übersetzungen.

Die Symptome:
In den weiteren Sprachen bleibt es beim Originaltext, z.B. in DE: bleibt es beim Original 'Warenkorb anzeigen'.

Fragen:
Haben Sie einen Tipp, woran das liegen kann?

März 13, 2025 at 6:53 pm #16813426

Andreas W.
Unterstützer

Sprachen: Englisch (English ) Spanisch (Español ) Deutsch (Deutsch )

Zeitzone: America/Lima (GMT-05:00)

Hallo,

Ist Deutsch hier die Standardsprache der Website? Falls ja, dann sollte dieses Problem möglicherweise auch dann auftreten, wenn WPML deaktiviert und WordPress auf Deutsch ausgeführt wird. Soll bedeuten, wenn das der Fall ist, dann ist dies kein WPML-Problem, sondern eine Einschränkung in WordPress.

Sollte dies nicht der Fall sein, dann lass es mich bitte wissen.

Mit freundlichen Grüßen
Andreas

März 14, 2025 at 6:54 am #16814615

Jan Sass

Hey Andreas,

wunderbar, Dein Stups hat mein Hirn auf die richtige Bahn gehoben - Woocommerce hat es gerne, die Texte selber zu übersetzen und umgeht WPML. Daher braucht es je Sprache einnen gettext()

if ( 'Warenkorb anzeigen' === $translated_text ) {
$translated_text = __( 'Anfragen anzeigen', 'echolot-digital-functions' );
}
if ( 'View cart' === $translated_text ) {
$translated_text = __( 'View request', 'echolot-digital-functions' );
}

Danke, Fall gelöst!
Jan