Extra Bricks-elementen vertalen
Gato AI Translations for Polylang kan op elementen gebaseerde Bricks-pagina's en -templates vertalen.
De plugin wordt geleverd met ondersteuning voor alle elementen die door Bricks worden geleverd. Voor aangepaste of externe Bricks-elementen kun je de vertaalondersteuning uitbreiden via PHP-hooks.
Strings vertalen
Gebruik de filter gatompl:bricks_element_type_translatable_properties om extra vertaalbare eigenschappen op een Bricks-element te declareren.
De filter ontvangt een [elementName => properties]-map. Het properties-item kan het volgende bevatten:
- Eenvoudige controlenamen — bijv.
'separatorText' - Dotpaden — bijv.
'home.text'(vertaalt naarsettings.home.text) - Repeater-velden — gedeclareerd als een sub-array
[repeaterName => [...subFields]]
Deze kunnen vrij worden gecombineerd, en nesting kan tot elke diepte gaan.
Deze hook zorgt er bijvoorbeeld voor dat:
- De eenvoudige control
separatorTexten het dotpadhome.textvertaalbaar zijn op hetbreadcrumbs-element - Het repeater-subveld
titlevertaalbaar is binnen deitems-repeater van hetteam-members-element
add_filter(
'gatompl:bricks_element_type_translatable_properties',
static function (array $translatableProperties): array {
$translatableProperties['breadcrumbs'][] = 'separatorText';
$translatableProperties['breadcrumbs'][] = 'home.text';
$translatableProperties['team-members']['items'][] = 'title';
return $translatableProperties;
},
10,
1
);Dezelfde filter werkt zowel voor eenvoudige controls als voor repeater-velden — er is geen aparte hook voor repeaters.
Entiteitsverwijzingen vertalen
Een eigenschap kan een entiteits-ID opslaan (een bericht, taxonomieterm, media-item of menu) dat bij het vertalen opnieuw gekoppeld moet worden aan de overeenkomstige entiteit in de doeltaal. Gebruik de bijbehorende filter:
| Soort verwijzing | Filter |
|---|---|
| Custom posts en media | gatompl:bricks_element_type_custompost_and_media_reference_properties |
| Taxonomietermen | gatompl:bricks_element_type_taxonomy_term_reference_properties |
| Menu's op ID | gatompl:bricks_element_type_menu_reference_by_id_properties |
| Menu's op slug | gatompl:bricks_element_type_menu_reference_by_slug_properties |
De structuur is hetzelfde als bij de filter voor vertaalbare eigenschappen — eenvoudige namen, dotpaden of sub-arrays voor repeaters.
// Custom post / media reference
add_filter(
'gatompl:bricks_element_type_custompost_and_media_reference_properties',
static function (array $properties): array {
$properties['featured-post'][] = 'post_id';
$properties['gallery']['items'][] = 'image_id';
return $properties;
}
);
// Taxonomy term reference
add_filter(
'gatompl:bricks_element_type_taxonomy_term_reference_properties',
static function (array $properties): array {
$properties['related-category'][] = 'category_id';
return $properties;
}
);
// Menu reference by ID
add_filter(
'gatompl:bricks_element_type_menu_reference_by_id_properties',
static function (array $properties): array {
$properties['menu-picker'][] = 'menu_id';
return $properties;
}
);
// Menu reference by slug
add_filter(
'gatompl:bricks_element_type_menu_reference_by_slug_properties',
static function (array $properties): array {
$properties['menu-picker'][] = 'menu_slug';
return $properties;
}
);Elementnamen en eigenschapsnamen ontdekken
Voer de GraphQL-query Translate custom posts uit en inspecteer het veld bricksData in de respons. Elk element toont zijn name en zijn settings-boom — daar vind je de eigenschapsnamen (inclusief geneste dotpaden en repeater-velden) die je aan de bovenstaande hooks moet doorgeven.

Zie de handleiding Paginabouwer-data ophalen om te vertalen voor uitleg over het uitvoeren van die query.
Waar voorbeelden te vinden
De eigen integraties van de plugin zijn een nuttige referentie. Bekijk dit bestand in de plugin die je hebt geĂŻnstalleerd:
wp-content/plugins/gato-ai-translations-for-polylang/src/ConditionalOnContext/LicenseIsActive/ConditionalOnModule/Bricks/Constants/ElementTypes.php