Gutenberg
Die Unterstützung für Gutenberg ist integriert, um alle Blöcke deines Gutenberg-Inhalts zu übersetzen.
Gato AI Translations for Polylang extrahiert die Zeichenketten aus den Blöcken des Gutenberg-Inhalts und übersetzt nur diese Zeichenketten, sodass der Inhalt in keiner Weise beschädigt wird.
Von Haus aus werden die folgenden Blocktypen automatisch unterstützt:
- WordPress-Core-Blöcke
- Reine PHP-Blöcke
- Advanced Custom Fields (ACF)-Blöcke
- Alle Blöcke, die eine
wpml-config.xmlmitliefern - Drittanbieter-Blöcke:
- Kadence Blocks
- Greenshift blocks
- GenerateBlocks blocks
- Yoast SEO blocks
Unterstützte WordPress-Core-Blöcke
Die folgenden WordPress-Core-Blöcke werden von Haus aus unterstützt:
core/audiocore/block(d. h. synchronisierte Muster)core/buttoncore/covercore/embedcore/headingcore/htmlcore/imagecore/listcore/list-itemcore/media-textcore/paragraphcore/preformattedcore/pullquotecore/quotecore/tablecore/versecore/video
Reine PHP-Blöcke
Ab WordPress 7.0 können Blöcke als reine PHP-Blöcke (ohne JavaScript-Bundle) registriert werden. Gato AI Translations for Polylang behandelt sie wie jeden anderen Block: Sie werden von Haus aus unterstützt, ohne zusätzliche Konfiguration.
Alle String-Attribute (außer Enumerationen und anderen skalaren Typen) werden automatisch für die Übersetzung registriert.
Wenn ein bestimmtes Feld nicht übersetzt werden soll, kannst du es über den Hook gatompl:gutenberg_block_type_translatable_attribute_regexes ausschließen, indem du es auf false setzt (oder per unset entfernst):
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)-Blöcke
Auch über Advanced Custom Fields registrierte Blöcke werden von Haus aus unterstützt. Es gibt 3 Möglichkeiten, ein ACF-Feld für die Übersetzung zu registrieren:
1. Automatisch für alle Felder (über die Settings-Seite)
Gehe zur Settings-Seite unter Plugin Integration Configuration > Advanced Custom Fields und aktiviere die Option Translate ACF blocks automatically?:

Wenn aktiviert, wird jedes übersetzbare String-Feld in jedem ACF-Block zur Übersetzung gesendet. Wenn ein bestimmtes Feld nicht übersetzt werden soll, schließe es über den Standard-ACF-Hook acf/load_field aus, indem du gatompl auf 'skip' setzt:
// 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. Feld für Feld (über die ACF-Feldgruppen-Konfiguration)
Wenn du deine Feldgruppe mit acf_add_local_field_group() definierst, füge 'gatompl' => 'translate' direkt zu jedem Feld hinzu, das übersetzt werden soll:
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',
],
],
],
]);Das funktioniert auch für post_object-, relationship-, taxonomy-, image-, gallery- und repeater-Felder: Das Plugin folgt verschachtelten Repeater-Pfaden in beliebiger Tiefe und ordnet Entitätsreferenzen (Beiträge, Terme, Medien) ihren Entsprechungen in der Zielsprache zu.
3. Feld für Feld (über den Hook acf/load_field)
Wenn du die Feldgruppenregistrierung nicht bearbeiten kannst, kannst du Felder über dieselben ACF-Hooks einschließen, die zum Ausschließen verwendet werden:
add_filter(
'acf/load_field/key=testimonial_text',
static function (array|false $field): array|false {
if (is_array($field)) {
$field['gatompl'] = 'translate';
}
return $field;
}
);Einen ACF-Block registrieren
Zur Referenz hier eine minimale Block-Registrierung, die zur obigen Feldgruppe passt (mit acf_register_block_type von 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 liest automatisch die wpml-config.xml aus jedem Plugin und nutzt sie, um zu bestimmen, welche Block-Attribute übersetzbar sind.
Attempt-Recovery-Hinweise
Einige Blöcke zeigen nach der Übersetzung im Editor einen Attempt Recovery-Hinweis an:

Weitere Details findest du unter Warum benötigen manche Blöcke nach der Übersetzung „Attempt Recovery"?.
Übersetzung einer bestimmten Eigenschaft deaktivieren
Um die Übersetzung einer bestimmten Eigenschaft (oder aller Eigenschaften eines Blocks), die über wpml-config.xml definiert wurde, zu deaktivieren, gib false vom Filter gatompl:use_wpml_config_for_block_type zurück:
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 Blöcke des Plugins Kadence Blocks werden automatisch unterstützt (über ihre wpml-config.xml).
Die folgenden Blöcke werden im Frontend nach der Übersetzung möglicherweise korrekt dargestellt, zeigen aber im Editor einen Attempt Recovery-Hinweis an:
kadence/single-iconkadence/tabskadence/form
Ein Klick auf Attempt Recovery baut das HTML des Blocks neu auf, ist aber optional — die Frontend-Ausgabe ist bereits korrekt (Details lesen).
Greenshift Blocks
Alle Blöcke von Greenshift werden automatisch unterstützt (über ihre wpml-config.xml).
Bei übersetzten Greenshift-Blöcken ist in der Regel ein Klick auf Attempt Recovery im Editor für jeden Block erforderlich, um dessen HTML neu zu generieren (Details lesen).
GenerateBlocks
Blöcke von GenerateBlocks und GenerateBlocks PRO:
- Container
- Grid
- Text
- Button
- Headline
- Image
- Query
- Shape
- Site Header
- Accordion
- Tabs
- Navigation
Yoast SEO
Diese Blöcke werden nur für einfache Zeichenketten unterstützt. Zeichenketten mit HTML-Tags (einschließlich Links, Bilder, HTML-Stile wie strong oder italic, Zeilenumbrüche usw.) werden nicht unterstützt.
Lies die Anleitung Können alle Gutenberg-Blöcke übersetzt werden? für weitere Informationen.
Blöcke von Yoast SEO:
- Yoast How-to
- Yoast FAQ
Unterstützung für weitere Blöcke
Du kannst benutzerdefinierte Blöcke aus deiner Anwendung oder Blöcke von Drittanbieter-Plugins übersetzen.
Sieh dir die Anleitung Weitere Gutenberg-Blöcke übersetzen für weitere Informationen an.
Synchronisierte Muster übersetzen
Die standardmäßige Design > Muster-Seite von WordPress unterstützt das Übersetzen synchronisierter Muster (auch bekannt als wiederverwendbare Blöcke) nicht, weil:
- Polylang das Widget zur Sprachauswahl nicht hinzufügt (nur Polylang PRO tut das)
- Es keine Bulk Actions anbietet, daher ist es nicht möglich, vorhandene Muster zu übersetzen
Aus diesem Grund bietet Gato AI Translations for Polylang die standardmäßige Patterns CPT-Seite unter dem Menüeintrag Patterns (Gutenberg) an, die diese Funktionen aktiviert.

Du kannst Muster von diesem Bildschirm aus übersetzen (ähnlich wie bei jedem anderen CPT):
- Neue Muster automatisch übersetzen, wenn sie veröffentlicht werden (über den Add Pattern-Bildschirm)
- Vorhandene Muster manuell über die Bulk Actions übersetzen

Der Bildschirm zeigt auch die übersetzten Muster an:

Die benutzerdefinierte Patterns-Seite deaktivieren
Du kannst die Anzeige der Patterns (Gutenberg)-Seite im Menü deaktivieren.
Gehe dazu in den Settings unter Plugin Integration Configuration > Gutenberg und deaktiviere das Kontrollkästchen Enable the Custom Patterns page.
