Tous les blocs Gutenberg peuvent-ils être traduits ?
Gato AI Translations for Polylang traduit nativement tous les blocs du noyau WordPress, et prend en charge l'intégration de blocs personnalisés et tiers.
N'importe quel nouveau bloc peut être pris en charge tant qu'il expose les chaînes à traduire de manière relativement simple. Et ce n'est pas toujours le cas.
Les blocs Yoast SEO (Yoast How-to et Yoast FAQ) en sont un bon exemple. Ces blocs ne sont pris en charge que pour les chaînes simples :

Les chaînes contenant des balises HTML (notamment des liens, des images, des styles HTML comme strong ou italic, des sauts de ligne, etc.) ne sont pas prises en charge :

Cela est dû à la façon dont ces données sont stockées par les blocs Yoast, qui contiennent un mélange de chaînes et de JSON avec des propriétés imbriquées :

Ce qui ressemble à ceci :
{
"question": [
"L'émergence d'études plus récentes sur le collagène marin tendent à montrer qu'il possède des qualités biologiques très favorables",
{
"type": "sup",
"props": {
"children": [
{
"type": "a",
"props": {
"href": "#bibliographie",
"children": [
"5"
]
}
}
]
}
},
"•",
{
"type": "br",
"props": {
"children": [
1
]
}
},
{
"type": "br",
"props": {
"children": [
1
]
}
},
"De plus, l'extraction du collagène marin permet d'exploiter et de valoriser les sous-produits de l'industrie de transformation du poisson voués à la perte. Par ailleurs, le collagène marin présente des avantages par rapport au collagène bovin : moins de risque de transmission de maladie et aucune considération religieuse",
{
"type": "sup",
"props": {
"children": [
{
"type": "a",
"props": {
"href": "#bibliographie",
"children": [
"6"
]
}
}
]
}
},
". ",
{
"type": "br",
"props": {
"children": []
}
},
{
"type": "br",
"props": {
"children": []
}
},
"Néanmoins, les équipes de recherche ne sont pas unanimes sur l'efficacité de l'un par rapport à l'autre. Ce d'autant que plusieurs facteurs peuvent affecter la manière dont le collagène est assimilé."
],
"jsonQuestion": "<strong>Quel est le meilleur collagène : marin ou bovin ?</strong>"
}Le plugin ne peut pas envoyer toute la structure JSON au service d'IA, car nous ne pouvons pas garantir qu'il l'interprétera correctement. Il ne peut pas non plus extraire les chaînes à traduire et n'envoyer que celles-ci, car nous ne savons pas ce que représentent ces propriétés au sein de la structure JSON (ex. : parfois children, mais parfois non).
De plus, les blocs Yoast stockent les mêmes informations 3 fois (les propriétés answer et jsonAnswer, ainsi que le texte à l'intérieur du contenu HTML rendu) avec des formats différents, et leurs traductions doivent correspondre, sinon l'éditeur Gutenberg affichera une erreur sur ce bloc. Cela n'est pas réellement faisable.
Par conséquent, le plugin ne prend en charge que les chaînes simples pour ces blocs.