Czy wszystkie bloki Gutenberg mogą być tłumaczone?
Gato AI Translations for Polylang tłumaczy natywnie wszystkie bloki z rdzenia WordPress i obsługuje integrację niestandardowych bloków oraz bloków firm trzecich.
Każdy nowy blok może być obsługiwany, o ile eksponuje ciągi znaków do przetłumaczenia w stosunkowo bezpośredni sposób. A to nie zawsze ma miejsce.
Bloki Yoast SEO (Yoast How-to i Yoast FAQ) są dobrym przykładem. Te bloki są obsługiwane tylko dla prostych ciągów znaków:

Ciągi znaków zawierające tagi HTML (w tym linki, obrazy, style HTML takie jak strong lub italic, nowe linie itp.) nie są obsługiwane:

Wynika to ze sposobu, w jaki dane te są przechowywane przez bloki Yoast, zawierające mieszaninę ciągów znaków i JSON z zagnieżdżonymi właściwościami:

Co wygląda następująco:
{
"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>"
}Wtyczka nie może wysyłać całej struktury JSON do usługi AI, ponieważ nie można mieć pewności, że zostanie ona poprawnie zinterpretowana. Nie może też wyodrębniać ciągów znaków do przetłumaczenia i wysyłać tylko tych, gdyż nie wiadomo, czym są te właściwości w strukturze JSON (np. czasami children, ale czasami nie).
Ponadto bloki Yoast przechowują te same informacje 3 razy (właściwości answer i jsonAnswer, a także tekst wewnątrz wyrenderowanej zawartości HTML) w różnych formatach, a ich tłumaczenia muszą być zgodne, bo w przeciwnym razie edytor Gutenberg wyświetli błąd na tym bloku. Osiągnięcie tego nie jest w rzeczywistości wykonalne.
Dlatego wtyczka obsługuje tylko proste ciągi znaków dla tych bloków.