常见问题
常见问题所有 Gutenberg 区块都可以翻译吗?

所有 Gutenberg 区块都可以翻译吗?

Gato AI Translations for Polylang 可开箱即用地翻译 WordPress 核心中的所有区块,并支持集成自定义区块和第三方区块。

只要新区块能以相对简单的方式公开待翻译的字符串,就可以获得支持。但这并非总是如此。

Yoast SEO 区块(Yoast How-toYoast FAQ)就是一个典型示例。这些区块仅支持简单字符串:

包含简单字符串的 Yoast FAQ 区块
包含简单字符串的 Yoast FAQ 区块

包含 HTML 标签的字符串(包括链接、图片、strong 或 italic 等 HTML 样式、换行等)不受支持:

包含 HTML 标签的 Yoast FAQ 区块
包含 HTML 标签的 Yoast FAQ 区块

这是由于 Yoast 区块存储数据的方式所致,其中混合了字符串和带有嵌套属性的 JSON:

包含 HTML 标签的 Yoast FAQ 区块的代码
包含 HTML 标签的 Yoast FAQ 区块的代码

其内容如下所示:

{
    "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 结构发送给 AI 服务,因为我们无法确信它能正确解析。同样,也无法提取待翻译的字符串单独发送,因为我们不知道 JSON 结构中这些属性的确切含义(例如:有时是 children,有时则不是)。

此外,Yoast 区块会以不同格式将相同信息存储三次(属性 answerjsonAnswer,以及渲染后的 HTML 内容中的文本),而翻译结果必须保持一致,否则 Gutenberg 编辑器将在该区块上显示错误。这实际上难以实现。

因此,插件对这些区块仅支持简单字符串。