Можно ли перевести все блоки Gutenberg?
Gato AI Translations for Polylang переводит все блоки ядра WordPress «из коробки» и поддерживает интеграцию пользовательских и сторонних блоков.
Любой новый блок может быть поддержан при условии, что он предоставляет строки для перевода достаточно простым образом. Но так бывает не всегда.
Блоки Yoast SEO (Yoast How-to и Yoast FAQ) — хороший пример. Эти блоки поддерживаются только для простых строк:

Строки, содержащие HTML-теги (включая ссылки, изображения, HTML-стили, такие как strong или italic, переносы строк и т. д.), не поддерживаются:

Это обусловлено тем, как блоки Yoast хранят данные — в виде смеси строк и JSON с вложенными свойствами:

Это выглядит примерно так:
{
"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>"
}Плагин не может отправить всю структуру JSON в сервис ИИ, поскольку нельзя быть уверенным, что он интерпретирует её правильно. Также невозможно извлечь строки для перевода и отправить только их, так как неизвестно, какие именно свойства внутри структуры JSON являются текстовыми (например: иногда children, но иногда нет).
Кроме того, блоки Yoast хранят одну и ту же информацию 3 раза (свойства answer и jsonAnswer, а также текст внутри отрендеренного HTML-контента) в разных форматах, и их переводы должны совпадать, иначе редактор Gutenberg покажет ошибку в этом блоке. Добиться этого практически нереально.
Поэтому плагин поддерживает только простые строки для этих блоков.