Zusätzliche Bricks-Elemente übersetzen
Gato AI Translations for Polylang kann elementbasierte Bricks-Seiten und -Vorlagen übersetzen.
Das Plugin enthält Unterstützung für alle von Bricks bereitgestellten Elemente. Für benutzerdefinierte oder Drittanbieter-Bricks-Elemente kannst du die Übersetzungsunterstützung über PHP-Hooks erweitern.
Strings übersetzen
Um zusätzliche übersetzbare Eigenschaften für ein Bricks-Element zu deklarieren, verwende den Filter gatompl:bricks_element_type_translatable_properties.
Der Filter erhält eine [elementName => properties]-Map. Der Eintrag properties kann enthalten:
- Einfache Control-Namen — z. B.
'separatorText' - Dot-Paths — z. B.
'home.text'(entsprichtsettings.home.text) - Repeater-Felder — als Unter-Array deklariert
[repeaterName => [...subFields]]
Diese lassen sich frei kombinieren, und die Verschachtelung kann beliebig tief gehen.
Zum Beispiel macht dieser Hook:
- Das einfache Control
separatorTextund den Dot-Pathhome.textauf dem Elementbreadcrumbsübersetzbar - Das Repeater-Unterfeld
titleinnerhalb des Repeatersitemsdes Elementsteam-membersübersetzbar
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
);Derselbe Filter funktioniert sowohl für einfache Controls als auch für Repeater-Felder — es gibt keinen separaten Hook für Repeater.
Entitätsreferenzen übersetzen
Eine Eigenschaft kann eine Entitäts-ID (ein Beitrag, ein Taxonomie-Begriff, ein Medienelement oder ein Menü) speichern, die zum Zeitpunkt der Übersetzung der entsprechenden Entität in der Zielsprache zugeordnet werden soll. Verwende den passenden Filter:
| Referenzart | Filter |
|---|---|
| Custom Posts und Medien | gatompl:bricks_element_type_custompost_and_media_reference_properties |
| Taxonomie-Begriffe | gatompl:bricks_element_type_taxonomy_term_reference_properties |
| Menüs per ID | gatompl:bricks_element_type_menu_reference_by_id_properties |
| Menüs per Slug | gatompl:bricks_element_type_menu_reference_by_slug_properties |
Die Struktur ist dieselbe wie beim Filter für übersetzbare Eigenschaften — einfache Namen, Dot-Paths oder Unter-Arrays für Repeater.
// 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 und Eigenschaftsnamen herausfinden
Führe die GraphQL-Query Translate custom posts aus und untersuche das Feld bricksData in der Antwort. Jedes Element gibt seinen name und seinen settings-Baum preis — dort findest du die Eigenschaftsnamen (einschließlich verschachtelter Dot-Paths und Repeater-Felder), die du an die obigen Hooks übergeben musst.

Lies die Anleitung Seitenersteller-Daten zum Übersetzen abrufen, um zu erfahren, wie du diese Query ausführst.
Wo du Beispiele findest
Die eigenen Integrationen des Plugins sind eine nützliche Referenz. Schaue dir diese Datei im installierten Plugin an:
wp-content/plugins/gato-ai-translations-for-polylang/src/ConditionalOnContext/LicenseIsActive/ConditionalOnModule/Bricks/Constants/ElementTypes.php