Traduzir elementos Bricks adicionais
Gato AI Translations for Polylang pode traduzir páginas e templates Bricks baseados em elementos.
O plugin já inclui suporte para todos os elementos fornecidos pelo Bricks. Para elementos Bricks personalizados ou de terceiros, você pode estender o suporte à tradução via hooks PHP.
Traduzindo strings
Para declarar propriedades traduzíveis adicionais em um elemento Bricks, use o filtro gatompl:bricks_element_type_translatable_properties.
O filtro recebe um mapa [elementName => properties]. A entrada properties pode conter:
- Nomes de controles simples — ex.:
'separatorText' - Caminhos com ponto — ex.:
'home.text'(corresponde asettings.home.text) - Campos de repeater — declarados como um sub-array
[repeaterName => [...subFields]]
Esses elementos podem ser combinados livremente e o aninhamento pode ter qualquer profundidade.
Por exemplo, este hook torna:
- O controle simples
separatorTexte o caminhohome.texttraduzíveis no elementobreadcrumbs - O subcampo
titledo repeater traduzível dentro do repeateritemsdo elementoteam-members
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
);O mesmo filtro funciona tanto para controles simples quanto para campos de repeater — não existe um hook separado para repeaters.
Traduzindo referências a entidades
Uma propriedade pode armazenar o ID de uma entidade (um post, termo de taxonomia, item de mídia ou menu) que deve ser remapeado para a entidade correspondente no idioma de destino no momento da tradução. Use o filtro adequado:
| Tipo de referência | Filtro |
|---|---|
| Custom posts e mídia | gatompl:bricks_element_type_custompost_and_media_reference_properties |
| Termos de taxonomia | gatompl:bricks_element_type_taxonomy_term_reference_properties |
| Menus por ID | gatompl:bricks_element_type_menu_reference_by_id_properties |
| Menus por slug | gatompl:bricks_element_type_menu_reference_by_slug_properties |
A estrutura é a mesma do filtro de propriedades traduzíveis — nomes simples, caminhos com ponto ou sub-arrays para 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;
}
);Descobrindo nomes de elementos e propriedades
Execute a query GraphQL Translate custom posts e inspecione o campo bricksData na resposta. Cada elemento expõe seu name e sua árvore de settings — é lá que você encontrará os nomes das propriedades (incluindo caminhos aninhados com ponto e campos de repeater) que precisam ser passados aos hooks acima.

Consulte o guia Recuperando dados do page builder para traduzir para saber como executar essa query.
Onde encontrar exemplos
As próprias integrações do plugin são uma referência útil. Explore este arquivo dentro do plugin instalado:
wp-content/plugins/gato-ai-translations-for-polylang/src/ConditionalOnContext/LicenseIsActive/ConditionalOnModule/Bricks/Constants/ElementTypes.php