Navigation überspringen

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.

Sun Mon Tue Wed Thu Fri Sat
- 8:00 – 13:00 9:00 – 13:00 9:00 – 13:00 8:00 – 12:00 8:00 – 12:00 -
- 14:00 – 17:00 14:00 – 18:00 14:00 – 18:00 13:00 – 17:00 13:00 – 17:00 -

Unterstützt die Zeitzone: Europe/Zagreb (GMT+01:00)

Schlagwörter: 

Dieses Thema enthält 6 Antworten, hat 2 Stimmen.

Zuletzt aktualisiert von Bruno Kos Vor 10 Monaten.

Assistiert von: Bruno Kos.

Verfasser Beiträge
Februar 12, 2024 unter 6:22 pm #15294468

cons-2

Hallo WPML-Team.

Mein Ticket wurde fälschlicherweise geschlossen und als erledigt markiert.
https://wpml.org/de/forums/topic/wcml-wpml_translate_single_string-gibt-manchmal-keinen-den-falschen-wert-zurueck/
Es ist nicht erledigt.
Der Fehler besteht weiterhin.

Ich möchte es hier noch einmal auf den Punkt bringen: Der core-WPML-Filter wpml_translate_single_string gibt bei uns manchmal offensichtlich falsche Werte zurück.

Beispiel:
- ich rufe apply_filters('wpml_translate_single_string', ...) auf einer Seite in der Sprache DE auf.
- nun rufe ich apply_filters('wpml_translate_single_string', ...) mit gleichen Parametern auf einer Seite in Sprache FR auf.

Die Ergebnisse sind zweimal unterschiedlich, obwohl ich die Parameter gleich gelassen habe.
- Es müsste das Gleiche rauskommen.
- Es kommen jedoch unterschiedliche Ergebnisse raus.

Der Fehler ist uns bis jetzt nur aufgefallen, wenn unser Custom-Plugin aktiviert ist.
Wenn wir es deaktivieren, scheint der Fehler nicht aufzutreten.

Da unser Custom-Plugin keine Callbacks mit add_filter auf den core-WPML-Filter registriert, sollte das Ergebnis von wpml_translate_single_string nicht verändert werden!
wpml_translate_single_string sollte bei gleichen Parametern immer gleiche Ergebnisse ausgeben - macht es jedoch nicht.

Das Ergebnis von wpml_translate_single_string ist derzeit manchmal falsch.
Und das, obwohl wir nicht in den Filter eingreifen.
Wir nutzen lediglich apply_filters, wie in euren docs beschrieben.

Das macht keinen Sinn für uns.
Wir können uns nicht erklären, warum die Ergebnisse von dem Filter inkonsistent sind.

Wie können wir fortfahren, um den Fehler zeitnah zu lösen?

Februar 13, 2024 unter 8:24 am #15295866

Bruno Kos
Supporter

Sprachen: Englisch (English ) Deutsch (Deutsch ) Französisch (Français )

Zeitzone: Europe/Zagreb (GMT+01:00)

Hallo, können Sie Ihren Code hier hinzufügen?
versteckter Link

Und sagen Sie mir, wo ich das Problem sehen kann, auf welcher Seite?

Februar 21, 2024 unter 12:22 pm #15327753

cons-2

Hallo Bruno,

ich kann dir gerne bis Anfang nächste Woche Zugang zu einer Staging-Umgebung von uns zukommen lassen.
Dort kann ich dir auch konkrete Beispiele vorbereiten, die du dir ansehen kannst.
Dann sollte sehr schnell klar sein, worum es geht.

Wenn das für dich in Ordnung ist, dann lass mir gerne eine Nachricht mit Zugangsdaten-Feld zukommen.

Februar 21, 2024 unter 1:59 pm #15328515

Bruno Kos
Supporter

Sprachen: Englisch (English ) Deutsch (Deutsch ) Französisch (Français )

Zeitzone: Europe/Zagreb (GMT+01:00)

Wenn es sich um einen einfachen Fall handelt, ist es immer besser, dies in der Sandbox auszuprobieren, weil dadurch mögliche Kompatibilitätsprobleme schnell ausgeschlossen werden können und sich zeigen lässt, ob es einen Fehler in unserem Filter gibt.

Ansonsten habe ich eine private Antwort erstellt.

Februar 28, 2024 unter 10:25 am #15353030

Bruno Kos
Supporter

Sprachen: Englisch (English ) Deutsch (Deutsch ) Französisch (Français )

Zeitzone: Europe/Zagreb (GMT+01:00)

Können Sie mir sagen ob es richtig funktioniert, wenn diese Option aktiviert ist?

auto register.jpg
Februar 28, 2024 unter 11:09 am #15353378

cons-2

Wenn ich diese Funktion aktiviere und die Seite mit dem Test-String neu lade, dann klappt es.
Der Filter gibt korrekte Werte zurück.

Das Problem ist jedoch, dass einige Inhalte dann neu zur string translation Tabelle hinzugefügt werden.

Die neu hinzugefügten Inhalte sind jedoch teilweise falsch hinzugefügt.
- Ausgangssprache wird falsch erfasst (deutsche Kommentare werden der englischen Ausgangssprache zugeordnet, das ist falsch)
- Domain stimmt nicht (statt wcml-reviews haben die strings alle die Domain woocommerce. Auch das ist falsch. Die Identifier 'product-1370-review-29096' fehlen komplett.)

Wenn ich die falsch hinzugefügten strings aus der Tabelle lösche, dann geht es nicht mehr.
Der Fehler ist wieder da.

Was ich besonders interessant finde:
- im Frontend wird genutzt: apply_filters( 'wpml_translate_single_string', 'Das ist kein China Müll.', 'wcml-reviews', 'product-1370-review-29096', 'fr' )
- in der string translation Table wird der string neu hinzugefügt mit der Domain "woocommerce"
- der Filter, der die Domain "wcml-reviews" nutzt, gibt auf einmal einen passenden Wert aus.

Das passt nicht.
Hier haut irgendetwas überhaupt nicht hin, ist mein Eindruck.

Habe die Staging wieder auf den stand von vor dem Experiment zurückgesetzt.
Testet gerne rum und debuggt.
Zugang habe ich dir gesendet.

Februar 28, 2024 unter 11:22 am #15353440

Bruno Kos
Supporter

Sprachen: Englisch (English ) Deutsch (Deutsch ) Französisch (Français )

Zeitzone: Europe/Zagreb (GMT+01:00)

Ich sehe - können Sie das dann tun?
https://wpml.org/faq/provide-supporters-copy-site/

Bitte schließen Sie Mediendateien aus, um das Paket klein zu halten.

Wir müssen dies debuggen und können das Debugging nicht direkt auf Ihrer Website durchführen.

Das Thema '[Geschlossen] wpml_translate_single_string gibt falsche Werte zurück' ist für neue Antworten geschlossen.