Navigation überspringen

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

Problem:
Der Kunde verwendet den Modus, in welchem alle Inhalte automatisch übersetzt werden und wollte bestimmte Beiträge in bestimmten Kategorien von der automatischen Übersetzung ausschließen, aber das bereitgestellte Snippet funktionierte nicht wie erwartet. Es sollte verhindern, dass Beiträge, die zu bestimmten Kategorien gehören, nicht automatisch übersetzt werden, wenn sie gespeichert werden.

Solution:
Wir haben festgestellt, dass das ursprüngliche Snippet dazu diente, Kategorien und nicht Beiträge von der Übersetzung auszuschließen. Um Beiträge von der automatischen Übersetzung auszuschließen, empfehlen wir, in der rechten Seitenleiste des WordPress Editors bei den Originalinhalten den WordPress Editor als Übersetzungsmethode zu aktivieren. Hier ist eine Anleitung dazu: https://wpml.org/documentation/translating-your-contents/using-different-translation-editors-for-different-pages/

Es gibt leider keine spezifische Hook, die es ermöglicht, Beiträge bestimmter Kategorien von der automatischen Übersetzung auszuschließen. Inhalte, die nicht in der WPML Standardsprache erstellt werden, werden nicht automatisch übersetzt. Für eine benutzerdefinierte Lösung, die über unsere Support-Richtlinien hinausgeht, kann der Kunde einen unabhängigen Dienstleister beauftragen: https://wpml.org/contractors/

Bitte beachten Sie, dass diese Lösung möglicherweise nicht mehr aktuell oder auf Ihren Fall anwendbar ist. Wir empfehlen, die bekannten Probleme 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. Sollte das Problem weiterhin bestehen, zögern Sie nicht, ein neues Support-Ticket zu eröffnen: 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.

Heute stehen keine Supporter zur Arbeit im German-Forum zur Verfügung. Sie können gern Tickets erstellen, die wir bearbeiten werden, sobald wir online sind. Vielen Dank für Ihr Verständnis.

Schlagwörter: 

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

Zuletzt aktualisiert von kristianW-2 Vor 1 Monat, 1 Woche.

Assistiert von: Andreas W..

Verfasser Beiträge
März 6, 2024 unter 8:32 am #15377710

kristianW-2

Hi,

vor einiger Zeit habe ich von euch dankenswerterweise ein Snippet bekommen, um die automatische Übersetzung für gewisse Kategorien auszuschliessen.

Wie mir die Redaktoren (einer davon mit Admin-Rechten, kann also nicht an der Berechtiung liegen) des Online-Portals sustainability-today.com melden, funktioniert der Ausschluss nicht mehr.

Test hat das bei der Kategorie
versteckter Link

bestätigt - sobald ein Artikel gespeichert wird, startet die automatische Übersetzung

Snippet von WMPL in functions.php ist:

/**
* Kategorien in D und E von automatischer übersetzung ausschliessen
* Snippet von WPML bekommen
**/

$execlude_cat_ids = [
//Put comma separated ids here
162,
163,
152,
153
];

$fields_exclusion = [];
foreach ($execlude_cat_ids as $id) {
array_push($fields_exclusion, 't_' . $id);
array_push($fields_exclusion, 'tdesc_' . $id);
}
add_filter('wpml_tm_job_field_is_translatable', function ($is_translatable, $job_translate) use ($fields_exclusion) {
if (in_array($job_translate["field_type"], $fields_exclusion)) {
return false;
}

return $is_translatable;
}, 10, 2);

Gute Grüsse
K

aut transl.png
März 6, 2024 unter 11:00 am #15378603

Andreas W.
Supporter

Sprachen: Englisch (English ) Deutsch (Deutsch )

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

Hallo,

Diese Code sollte hier nur für die Kategorien mit den IDs 162, 163, 152, 153 funktionieren und sollte bewirken, dass die Beiträge nicht automatisch übersetzt werden.

Bei Verwendung von neuen oder anderen Kategorien wird dies keinen Effekt haben.

Bitte prüfe erneut, ob dies wie erwartet funktioniert und lass mich wissen, ob weitere Hilfe notwenig ist.

Mit freundlichen Grüßen
Andreas

März 6, 2024 unter 11:17 am #15378639

kristianW-2

genau das ist die Idee

Diese Code sollte hier nur für die Kategorien mit den IDs 162, 163, 152, 153 funktionieren und sollte bewirken, dass diese Kategorien nicht im Advanced Translation Editor erscheinen, wenn ein Beitrag übersetzt wird, auf dem diese Kategorien verwendet werden.

nur werden neue Artikel mit Kategorien mit den IDs 162, 163, 152, 153 beim Speichern trotz dem Code automatisch übersetzt ...

Anmerkung: die Artikel sind NUR einer der Kategorien zugeordnet

März 6, 2024 unter 11:18 am #15378644

kristianW-2

Die Frage anders formuliert:

wie verhindere ich, dass neue Artikel mit den aufgeführten Kategorien automatisch übesetzt werden, wenn für die restliche Online-Plattform der Kategorien die automatische Übersetzung aktiviert ist?

März 6, 2024 unter 11:50 am #15378827

Andreas W.
Supporter

Sprachen: Englisch (English ) Deutsch (Deutsch )

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

Hallo,

Der Code sollte alle Beiträge nicht automatisch übersetzen, bei denen die Kategorien mit den ID's 162, 163, 152, 153 verwendet werden.

Wenn mehrere Kategorien zugewiesen sind und eine dieser Kategorien nicht in der Ausnahmeliste stehen, dann kann es sein, dass dies nicht funktioniert.

Verstehe ich richtig, dass das Snippet nur bei bestehenden und nicht bei neuen Beiträgen funktioniert?

Ich werde diese auf einer Test Site einmal prüfen und melde mich danach wieder.

Mit freundlichen Grüßen
Andreas

März 6, 2024 unter 12:06 pm #15378927

kristianW-2

Verstehe ich richtig, dass das Snippet nur bei bestehenden und nicht bei neuen Beiträgen funktioniert?

-> korrekt

März 6, 2024 unter 2:19 pm #15380012

kristianW-2

PS - unser Coder kam grad mit dem Snippet auf mich zu, werde es aus Zeitgründen erst später testen können

$exclude_cat_ids = [
162, 163, 152, 153,
];

add_filter('wpml_tm_job_field_is_translatable', function ($is_translatable, $job_translate) use ($exclude_cat_ids) {
if ($job_translate['job_type'] === 'post' && isset($job_translate['original_doc_id'])) {
$post_categories = wp_get_post_categories($job_translate['original_doc_id']);
if (array_intersect($post_categories, $exclude_cat_ids)) {
return false;
}
}

return $is_translatable;
}, 10, 2);

März 6, 2024 unter 4:50 pm #15380888

Andreas W.
Supporter

Sprachen: Englisch (English ) Deutsch (Deutsch )

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

Ich kann bestätigen, dass der Workaround, welcher vor etwa 8 Monaten bereitgestellt wurde, nicht funktioniert.

Ich konsultiere dazu nun die Kollegen vom Second Tier Support und werde mich wieder melden, sobald ich von dort eine Antwort erhalten habe.

März 7, 2024 unter 2:36 pm #15384931

Andreas W.
Supporter

Sprachen: Englisch (English ) Deutsch (Deutsch )

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

Hallo,

Tut mir leid, ich hatte das Problem falsch aufgegriffen, da ich davon ausging, dass es um die Beiträge geht, aber Du willst nur die Kategorien ausschließen, richtig?

Bei unserem Test werden die Kategorien nicht im Übersetzungseditor angezeigt.

Siehe hier:
versteckter Link

Kann es sein, dass die Kategorien bereits übersetzt wurden und der Übersetzungsspeicher des Advanced Translation Editors diese beim übersetzen automatisch vervollstäbndigt?

Ich möchte einen temporären Zugriff (wp-admin und FTP) auf die Website anfordern, um das Problem genauer zu untersuchen.

Die dafür erforderlichen Felder findst Du unterhalb des Kommentarbereichs, wenn Du dich anmelden, um die nächste Antwort zu hinterlassen. Die Informationen, die Du angibst sind privat, was bedeutet, dass nur Du und ich sie sehen und darauf zugreifen können.

WICHTIG
Lege bitte unbedingt eine Sicherungskopie der Website und der Datenbank an, bevor Du uns den Zugriff gewährst.
Wenn Du die Felder "wp-admin / FTP" nicht sehen kannst, werden Ihre Anmeldedaten für Post und Website als "PUBLIC" (Öffentlich) festgelegt. Veröffentliche die Daten NICHT, es sei denn, Du siehst die erforderlichen wp-admin / FTP-Felder.

Ich muss hier ggfls. ein Plugin namens "All In One WP Migration" installieren, um eine Kopie der Website anzulegen, auf welche ich das Problem genauer untersuchen kann.

Ich wäre allerdings auch sehr dankbar, wenn Du zu diesem Zweck selbst eine Staging Site, bzw. Kopie der Website von Deinem Server aus bereitstellen könntest.

Bei Fragen zum Erstellen einer solchen Staging Site kannst Du deinen Hosting Anbieter konsultieren. Achte bitte darauf, dass WPML auf diesem Staging ebenso unter https://wpml.org/de/account/websites/ registriert sein muss.

Solltest Du dazu nicht in der Lage sein eine solche Kopie der Website zum Testen bereitzustellen, dann lass es mich bitte auf diesem Ticket wissen.

Das private Antwortformular sieht folgendermaßen aus:
versteckter Link

Klicke beim nächsten Antworten auf "I still need assistance".

Video:
versteckter Link

Beachte bitte, dass wir verpflichtet sind, diese Informationen auf jedem Ticket individuell anzufordern. Wir dürfen nicht auf Zugangsinformationen zugreifen, die nicht speziell auf diesem Ticket im privaten Antwortformular übermittelt wurden.

Mit freundlichen Grüßen
Andreas

März 8, 2024 unter 1:55 pm #15389664

kristianW-2

nochmals das ziel:

posts, die zu einer kategorie gehören (ID, siehe snippet) sollen NICHT automatisch übersetzt beim speichern nach dem erstellen oder nach einer bearbeitung werden.

kategorie dient zur Identifikation der Posts. vermute ich richtig (auf die Idee muss man auch mal erst kommen), dass das ursprüngliche Snippet diesem Ziel nie gerecht wurde, der kunde das aber erst jetzt bemerkt hat?

kurzum: bei diesen Kategorien muss die Übersetzung manuell ausgelöst werden können, nicht automatisch.

gute Grüsse

März 8, 2024 unter 2:16 pm #15389815

Andreas W.
Supporter

Sprachen: Englisch (English ) Deutsch (Deutsch )

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

Das hatte unser Support vor 8 Monaten wohl falsch aufgenommen.

Dieses Snippet war so designed, dass die Kategorien nicht übersetzt werden.

Es diente nicht dazu, die Beiträge aus bestimmtem Kategorien von der Übersetzung auszuschließen.

Um Beiträge von der automatischen Übersetzung auszuschließen, muss man in der rechten Seitenleiste des WordPress Editor bei den Originalinhalten den WordPress Editor als Übersetzungsmethode aktivieren.

Anleitung:
https://wpml.org/documentation/translating-your-contents/using-different-translation-editors-for-different-pages/

März 8, 2024 unter 2:17 pm #15389817

kristianW-2

so funktioniert es - veto? gibt es einen eleganteren weg?

function deaktiviere_automatische_uebersetzung_fuer_bestimmte_kategorien($post_id) {
$kategorien_zum_ausschliessen = array(162, 163, 152, 153);
foreach ($kategorien_zum_ausschliessen as $kategorie_id) {
if (has_term($kategorie_id, 'category', $post_id)) {
do_action('wpml_set_translation_mode_for_post_type', get_post_type($post_id), 'do_not_translate');
break;
}
}
}
add_action('save_post', 'deaktiviere_automatische_uebersetzung_fuer_bestimmte_kategorien');

März 8, 2024 unter 2:21 pm #15389821

Andreas W.
Supporter

Sprachen: Englisch (English ) Deutsch (Deutsch )

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

Ist es wirklich notwendig ein solches Snippet anzuwenden?

Diese Snippet sollte eigentlich nicht funktionieren, weil man mit 'wpml_set_translation_mode_for_post_type' nur eine Übersetzungsoption für alle Inhaltstypen anwenden kann - soll bedeuten, es ist eine globale Option, die auf alle Beitragstypen zutrifft und nicht pro Inhalt festgelegt werden kann.

Quelle:
https://wpml.org/wpml-hook/wpml_set_translation_mode_for_post_type/

Empfohlener Workflow:

Um Beiträge von der automatischen Übersetzung auszuschließen, muss man in der rechten Seitenleiste des WordPress Editor bei den Originalinhalten den WordPress Editor als Übersetzungsmethode aktivieren.

Anleitung:
https://wpml.org/documentation/translating-your-contents/using-different-translation-editors-for-different-pages/

Ist das keine Alternative?

März 8, 2024 unter 2:28 pm #15389835

kristianW-2

das team des kunden kennend ... wäre mir lieber, das setting für diese kategorien gobal und gleich von vorab auf den wordpress editor zu setzen

März 8, 2024 unter 2:43 pm #15389892

Andreas W.
Supporter

Sprachen: Englisch (English ) Deutsch (Deutsch )

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

Wir haben leider keine Hook verfügbar, mit der man dies auf einfach Weise erreichen könnte:
https://wpml.org/documentation/support/wpml-coding-api/wpml-hooks-reference/

Der Kollege vom Second Tier Support, der diesem Thema zugewiesen ist, ist bereits im Wochenden. Sollte ich nächste Woche eine Rückmeldung mit einer möglichen Lösung erhalten, werde ich mich wieder melden.

WICHTIG:
Wie ich bereits sagte, es gibt dazu die Möglichkeit den WordPress-Editor auf diesen Beiträgen als Übersetzungsmethode zu aktivieren.

Alles darüber hinaus wäre eine Anfrage zu einer benutzerdefinierte Lösung, die nicht über unsere Support-Richtlinien angeboten wird.

Support-Richtlinien:
https://wpml.org/de/purchase/support-richtlinie/

Der Kunde kann dazu gerne einen unabhängigen Dienstleister beauftragen:
https://wpml.org/contractors/

kristianW-2 bestätigte, dass das Problem auf 2024-03-18 06:58:36 behoben wurde.
This ticket is now closed. If you're a WPML client and need related help, please open a new support ticket.