Gutenberg
Ondersteuning voor Gutenberg is ingebouwd, om alle blokken in je Gutenberg-inhoud te vertalen.
Gato AI Translations for Polylang extraheert de strings uit de blokken in de Gutenberg-inhoud en vertaalt alleen die strings, zodat de inhoud op geen enkele manier beschadigd raakt.
Standaard worden de volgende bloktypes automatisch ondersteund:
- WordPress-kernblokken
- Alleen-PHP-blokken
- Advanced Custom Fields (ACF)-blokken
- Alle blokken die een
wpml-config.xmlmeeleverern - Blokken van derden:
- Kadence Blocks
- Greenshift blocks
- GenerateBlocks blocks
- Yoast SEO blocks
Ondersteunde WordPress-kernblokken
De volgende WordPress-kernblokken worden standaard ondersteund:
core/audiocore/block(d.w.z. gesynchroniseerde patronen)core/buttoncore/covercore/embedcore/headingcore/htmlcore/imagecore/listcore/list-itemcore/media-textcore/paragraphcore/preformattedcore/pullquotecore/quotecore/tablecore/versecore/video
Alleen-PHP-blokken
Vanaf WordPress 7.0 kunnen blokken worden geregistreerd als alleen-PHP (geen JavaScript-bundel). Gato AI Translations for Polylang behandelt ze net als elk ander blok: ze worden standaard ondersteund, zonder extra configuratie.
Alle string-attributen (anders dan enums en andere scalaire typen) worden automatisch geregistreerd voor vertaling.
Als een specifiek veld niet vertaald mag worden, kun je het uitsluiten via de hook gatompl:gutenberg_block_type_translatable_attribute_regexes door het in te stellen op false (of door het te unset-ten):
add_filter(
'gatompl:gutenberg_block_type_translatable_attribute_regexes',
static function (array $regexes): array {
// Either of these works:
unset($regexes['my-plugin/alert']['header']);
$regexes['my-plugin/alert']['implications'] = false;
return $regexes;
}
);Advanced Custom Fields (ACF)-blokken
Blokken die zijn geregistreerd via Advanced Custom Fields worden ook standaard ondersteund. Er zijn 3 manieren om een ACF-veld te registreren voor vertaling:
1. Automatisch voor alle velden (via Settings)
Ga naar de Settings-pagina, onder Plugin Integration Configuration > Advanced Custom Fields, en schakel de optie Translate ACF blocks automatically? in:

Wanneer ingeschakeld, wordt elk vertaalbaar stringveld in elk ACF-blok naar vertaling gestuurd. Als een specifiek veld niet vertaald mag worden, sluit het dan uit via de standaard ACF-hook acf/load_field door gatompl in te stellen op 'skip':
// Disable translation for a single field by key
add_filter(
'acf/load_field/key=product_card_sku',
static function (array|false $field): array|false {
if (is_array($field)) {
$field['gatompl'] = 'skip';
}
return $field;
}
);
// Or disable several fields at once
add_filter(
'acf/load_field',
static function (array|false $field): array|false {
if (
is_array($field) && in_array($field['key'] ?? null, [
'product_card_feature_title',
'product_card_specs_dimensions',
'product_card_section_text_heading',
])
) {
$field['gatompl'] = 'skip';
}
return $field;
}
);2. Veld voor veld (via de ACF-veldgroepconfiguratie)
Voeg bij het definiëren van je veldgroep met acf_add_local_field_group() direct 'gatompl' => 'translate' toe aan elk veld dat je wilt vertalen:
acf_add_local_field_group([
'key' => 'group_testimonial',
'title' => 'Testimonial Block',
'fields' => [
[
'key' => 'testimonial_text',
'label' => 'Testimonial',
'name' => 'testimonial',
'type' => 'textarea',
'gatompl' => 'translate',
],
[
'key' => 'testimonial_role',
'label' => 'Role',
'name' => 'role',
'type' => 'text',
// Option-array form — equivalent to `'gatompl' => 'translate'`,
// but leaves room for future plugin-side options on the same field
'gatompl' => [
'translation_configuration' => 'translate',
],
],
[
'key' => 'testimonial_featured_post',
'label' => 'Featured post',
'name' => 'featured_post',
'type' => 'post_object',
'post_type' => ['post'],
'return_format' => 'object',
'gatompl' => 'translate', // The referenced post ID is remapped to the target-language post
],
],
'location' => [
[
[
'param' => 'block',
'operator' => '==',
'value' => 'acf/testimonial',
],
],
],
]);Dit werkt ook voor post_object-, relationship-, taxonomy-, image-, gallery- en repeater-velden: de plugin volgt geneste repeater-paden tot elke diepte en herschikt entiteitsreferenties (berichten, termen, media) naar hun equivalent in de doeltaal.
3. Veld voor veld (via de hook acf/load_field)
Als je de registratie van de veldgroep niet kunt bewerken, voeg velden in via dezelfde ACF-hooks die ook worden gebruikt om ze uit te sluiten:
add_filter(
'acf/load_field/key=testimonial_text',
static function (array|false $field): array|false {
if (is_array($field)) {
$field['gatompl'] = 'translate';
}
return $field;
}
);Een ACF-blok registreren
Ter referentie: hier is een minimale blokregistratie die past bij de bovenstaande veldgroep (met behulp van acf_register_block_type uit ACF PRO):
add_action('acf/init', function (): void {
if (!function_exists('acf_register_block_type')) {
return;
}
acf_register_block_type([
'name' => 'testimonial',
'title' => 'Testimonial',
'description' => 'A testimonial block.',
'render_template' => plugin_dir_path(__FILE__) . 'acf-blocks/testimonial/template.php',
'category' => 'widgets',
'icon' => 'format-quote',
'keywords' => ['testimonial', 'quote'],
'mode' => 'preview',
]);
});WPML Config
Gato AI Translations for Polylang leest automatisch het wpml-config.xml-bestand dat door een plugin wordt meegeleverd en gebruikt dit om te bepalen welke blokattributen vertaalbaar zijn.
Attempt Recovery-meldingen
Sommige blokken kunnen na vertaling een Attempt Recovery-melding weergeven in de editor:

Zie Waarom hebben sommige blokken 'Attempt Recovery' nodig na vertaling? voor meer details.
Vertaling van een specifieke eigenschap uitschakelen
Om de vertaling van een specifieke eigenschap (of alle eigenschappen van een blok) die via wpml-config.xml is gedefinieerd uit te schakelen, geef false terug vanuit het filter gatompl:use_wpml_config_for_block_type:
add_filter(
'gatompl:use_wpml_config_for_block_type',
static function (bool $enabled, string $blockTypeName, string $ruleKind): bool {
// Stop reading wpml-config.xml rules for greenshift-blocks/button
if ($blockTypeName === 'greenshift-blocks/button') {
return false;
}
return $enabled;
},
10,
3
);Kadence Blocks
Alle blokken van de Kadence Blocks-plugin worden automatisch ondersteund (via hun wpml-config.xml).
De volgende blokken kunnen na vertaling correct worden weergegeven op de frontend, maar tonen een Attempt Recovery-melding wanneer ze worden geopend in de editor:
kadence/single-iconkadence/tabskadence/form
Door op Attempt Recovery te klikken wordt de HTML van het blok opnieuw opgebouwd, maar dit is optioneel — de frontend-uitvoer is al correct (lees details).
Greenshift Blocks
Alle blokken van Greenshift worden automatisch ondersteund (via hun wpml-config.xml).
Vertaalde Greenshift-blokken vereisen doorgaans dat je op Attempt Recovery klikt in de editor voor elk blok om de HTML opnieuw te genereren (lees details).
GenerateBlocks
Blokken van GenerateBlocks en GenerateBlocks PRO:
- Container
- Grid
- Text
- Button
- Headline
- Image
- Query
- Shape
- Site Header
- Accordion
- Tabs
- Navigation
Yoast SEO
Deze blokken worden alleen ondersteund voor eenvoudige strings. Strings die HTML-tags bevatten (inclusief links, afbeeldingen, HTML-stijlen zoals strong of italic, nieuwe regels, enz.) worden niet ondersteund.
Lees de gids Kunnen alle Gutenberg-blokken worden vertaald? voor meer informatie.
Blokken van Yoast SEO:
- Yoast How-to
- Yoast FAQ
Aanvullende blokken ondersteunen
Je kunt aangepaste blokken uit je applicatie vertalen, of blokken van plugins van derden.
Bekijk de gids Aanvullende Gutenberg-blokken vertalen voor meer informatie.
Gesynchroniseerde patronen vertalen
De standaard Weergave > Patronen-pagina van WordPress ondersteunt het vertalen van gesynchroniseerde patronen (ook bekend als herbruikbare blokken) niet, omdat:
- Polylang de widget om de taal te selecteren niet toevoegt (alleen Polylang PRO doet dat)
- Het geen Bulk Actions biedt, waardoor het niet mogelijk is bestaande patronen te vertalen
Daarom biedt Gato AI Translations for Polylang de standaard Patterns CPT-pagina aan, onder het menu-item Patterns (Gutenberg), waarmee deze functies beschikbaar worden.

Je kunt patronen vertalen via dit scherm (vergelijkbaar met elk ander CPT):
- Nieuwe patronen automatisch vertalen bij publicatie (vanuit het scherm Add Pattern)
- Bestaande patronen handmatig vertalen via Bulk Actions

Het scherm toont ook de vertaalde patronen:

De aangepaste Patronen-pagina uitschakelen
Je kunt het weergeven van de Patterns (Gutenberg)-pagina in het menu uitschakelen.
Ga hiervoor naar de Settings onder Plugin Integration Configuration > Gutenberg en schakel het selectievakje Enable the Custom Patterns page uit.
