Häufige Probleme
Häufige ProblemeBeiträge werden nicht übersetzt

Beiträge werden nicht übersetzt

Wenn deine benutzerdefinierten Beiträge nicht übersetzt werden, sieh dir die Logs an, um einen Fehler- oder Warnungseintrag zu finden, der das Problem erklärt.

Um das Problem zu lösen, musst du möglicherweise die Einstellungen deinen Anforderungen entsprechend konfigurieren oder den Beitrag neu erstellen, falls er veraltete oder beschädigte Daten enthält.

Die häufigsten Ursachen und ihre Lösungen sind folgende:

Es existieren keine Übersetzungseinträge

Wenn du eine Warnung wie diese siehst:

Warning [Query "translate-customposts"] Execution successful, but with warnings: 🟡 No custom post(s) was translated, because no translation entries exist. In the plugin Settings, enable the 'Automatic creation of translation entries' option for CPT 'post'; or otherwise, create those translation entries using Polylang (clicking on the '+' link), then trigger the translation.

...bedeutet das, dass die Übersetzungseinträge für deine benutzerdefinierten Beiträge nicht erstellt wurden (bevor die Übersetzung ausgelöst wurde).

Prüfe in den Plugin-Einstellungen unter General Configuration, ob die Option Automatic creation of translation entries für diesen CPT aktiviert ist:

Einstellung der Option 'Automatic creation of translation entries'
Einstellung der Option 'Automatic creation of translation entries'

Falls nicht, und dieser CPT wp_insert_post zum Erstellen von Einträgen verwendet, aktiviere diese Option.

Andernfalls musst du zunächst diese Übersetzungseinträge über Polylang erstellen (durch Klicken auf den +-Link) und dann die Übersetzung auslösen.

Übersetzungseinträge haben nicht den erwarteten Status

Wenn du eine Warnung wie diese siehst:

Warning [Query "translate-customposts"] Execution successful, but with warnings: 🟡 No custom post(s) was translated, because the translation entries (CPT: 'post', IDs: [48634]) do not have the expected status: 'draft'. If this is unintended, either update the  and/or 'Status to synchronize' options in the plugin Settings, or change the status of the translation entries accordingly.

...bedeutet das, dass die Übersetzungseinträge einen anderen Status haben als den, der in den Plugin-Einstellungen konfiguriert ist.

Wenn zum Beispiel die Option Status to update auf draft gesetzt ist und die Übersetzungseinträge den Status publish haben, wird die Übersetzung nicht erstellt.

Prüfe in den Plugin-Einstellungen unter General Configuration, ob die Option Status to update auf den erwarteten Status gesetzt ist:

Einstellung der Option 'Status to update'
Einstellung der Option 'Status to update'

Andernfalls ändere den Status der Übersetzungseinträge entsprechend.

Beitrag enthält veraltete oder beschädigte Daten

Wenn du eine Warnung wie diese siehst:

Warning [Query "translate-customposts"] Execution successful, but with warnings: 🟡 There are no custom posts to translate

...und der Log-Eintrag zeigt, dass der Beitrag zwar einen Übersetzungsbeitrag hat, diesen aber nicht erkennt, dann enthält der Beitrag möglicherweise veraltete oder beschädigte Daten, die entfernt werden müssen.

Prüfe zum Beispiel den "Additional context" in diesem Log-Eintrag:

{
  "queryExecutionResponse": {
    "data": {
      "originCustomPosts": [
        {
          "__typename": "GenericCustomPost",
          "id": 16597,
          "polylangLanguageLocale": {
            "code": "en"
          },
          "polylangLanguage": "en",
          "originCustomPostHasDefaultLanguage": true,
          "isTranslateFromLanguageProvided": true,
          "originCustomPostHasSpecificLanguage": true,
          "canTranslateOriginPostFromSpecificLanguage": true,
          "canTranslateOriginPost": true,
          "customPostIDTranslationCustomPostIDLanguageIDs": {
            "es": 16613
          },
          "hasTranslationCustomPosts": true
        }
      ],
      "customPostIDTranslationCustomPostIds": {
        "16597": [
          16613
        ]
      },
      "translationCustomPostIdsList": [
        [
          16613
        ]
      ],
      "translationCustomPostIds": [
        16613
      ],
      "translationCustomPostIdToCustomPostIDs": {
        "16613": 16597
      },
      "emptyTranslationCustomPostVars": [],
      "hasTranslationCustomPosts": false
    }
  }
}

Im obigen Beispiel hat der englische Ursprungsbeitrag mit der ID 16597 ("id": 16597, "polylangLanguageLocale": { "code": "en" }) einen Übersetzungsbeitrag auf Spanisch mit der ID 16613 ("customPostIDTranslationCustomPostIDLanguageIDs": { "es": 16613 }), erkennt diesen jedoch nicht ("hasTranslationCustomPosts": false).

In diesem Fall existiert der Übersetzungsbeitrag mit der ID 16613 nicht mehr, aber die Polylang-Verknüpfung im Beitrag mit der ID 16597 zu diesem Beitrag wurde nicht entfernt.

Aufgrund dieser veralteten oder beschädigten Daten kann das Plugin den Beitrag nicht übersetzen.

Um das Problem zu lösen, musst du den Ursprungsbeitrag neu erstellen und diesen übersetzen. Lösche anschließend den beschädigten Übersetzungsbeitrag.