Les articles ne sont pas traduits
Si vos articles personnalisés ne sont pas traduits, consultez les logs pour trouver une entrée d'erreur ou d'avertissement qui explique le problème.
Pour résoudre le problème, vous devrez peut-être configurer les réglages selon vos besoins, ou éventuellement recréer l'article s'il contient des données obsolètes ou corrompues.
Les causes les plus fréquentes, et leurs solutions, sont les suivantes :
Aucune entrée de traduction n'existe
Si vous voyez un avertissement comme celui-ci :
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....cela signifie que les entrées de traduction pour vos articles personnalisés n'ont pas été créées (avant de déclencher la traduction).
Dans les réglages du plugin, sous General Configuration, vérifiez si l'option Automatic creation of translation entries est activée pour ce CPT :

Si ce n'est pas le cas, et que ce CPT utilise wp_insert_post pour créer des entrées, activez alors cette option.
Sinon, vous devez d'abord créer ces entrées de traduction à l'aide de Polylang (en cliquant sur le lien +), puis déclencher la traduction.
Les entrées de traduction n'ont pas le statut attendu
Si vous voyez un avertissement comme celui-ci :
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....cela signifie que les entrées de traduction ont un statut différent de celui configuré dans les réglages du plugin.
Par exemple, si l'option Status to update est définie sur draft, et que les entrées de traduction ont un statut publish, alors la traduction ne sera pas créée.
Dans les réglages du plugin, sous General Configuration, vérifiez si l'option Status to update est définie sur le statut attendu :

Sinon, modifiez le statut des entrées de traduction en conséquence.
L'article contient des données obsolètes ou corrompues
Si vous voyez un avertissement comme celui-ci :
Warning [Query "translate-customposts"] Execution successful, but with warnings: 🟡 There are no custom posts to translate...et que l'entrée du log indique que, bien que l'article ait un article de traduction, il ne le reconnaît pas, alors l'article peut contenir des données obsolètes ou corrompues qui doivent être supprimées.
Par exemple, vérifiez le "Additional context" dans cette entrée du log :
{
"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
}
}
}Dans l'exemple ci-dessus, l'article d'origine en anglais avec l'ID 16597 ("id": 16597, "polylangLanguageLocale": { "code": "en" }) a un article de traduction en espagnol avec l'ID 16613 ("customPostIDTranslationCustomPostIDLanguageIDs": { "es": 16613 }), mais il ne le reconnaît pas ("hasTranslationCustomPosts": false).
Dans ce cas, cet article de traduction avec l'ID 16613 n'existe plus, mais la relation Polylang dans l'article avec l'ID 16597 vers cet article n'a pas été supprimée.
En raison de ces données obsolètes ou corrompues, le plugin ne peut pas traduire l'article.
Pour résoudre le problème, vous devez recréer l'article d'origine et traduire celui-là. Supprimez ensuite l'article de traduction corrompu.