Ek Bricks öğelerini çevirmek
Gato AI Translations for Polylang, öğe tabanlı Bricks sayfalarını ve şablonlarını çevirebilir.
Eklenti, Bricks tarafından sağlanan tüm öğeler için destek ile birlikte gelir. Özel veya üçüncü taraf Bricks öğeleri için çeviri desteğini PHP kancaları aracılığıyla genişletebilirsiniz.
Dizeleri çevirmek
Bir Bricks öğesine ek çevrilebilir özellikler tanımlamak için gatompl:bricks_element_type_translatable_properties filtresini kullanın.
Filtre, [elementName => properties] biçiminde bir eşlem alır. properties girişi şunları içerebilir:
- Düz kontrol adları — örn.
'separatorText' - Nokta yolları — örn.
'home.text'(settings.home.textolarak karşılık gelir) - Tekrarlayıcı alanlar —
[repeaterName => [...subFields]]biçiminde bir alt dizi olarak tanımlanır
Bunlar serbestçe karıştırılabilir ve iç içe geçme herhangi bir derinliğe ulaşabilir.
Örneğin, bu kanca şunları yapar:
breadcrumbsöğesinde düz kontrolseparatorTextve nokta yoluhome.textçevrilebilir hale gelirteam-membersöğesininitemstekrarlayıcısı içindekititlealt alanı çevrilebilir hale gelir
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
);Aynı filtre hem basit kontroller hem de tekrarlayıcı alanlar için çalışır — tekrarlayıcılar için ayrı bir kanca yoktur.
Varlık referanslarını çevirmek
Bir özellik, çeviri sırasında hedef dildeki karşılık gelen varlığa yeniden eşlenmesi gereken bir varlık kimliği (bir gönderi, taksonomi terimi, medya öğesi veya menü) depolayabilir. Uygun filtreyi kullanın:
| Referans türü | Filtre |
|---|---|
| Özel gönderiler ve medya | gatompl:bricks_element_type_custompost_and_media_reference_properties |
| Taksonomi terimleri | gatompl:bricks_element_type_taxonomy_term_reference_properties |
| ID ile menüler | gatompl:bricks_element_type_menu_reference_by_id_properties |
| Slug ile menüler | gatompl:bricks_element_type_menu_reference_by_slug_properties |
Biçim, çevrilebilir özellikler filtresiyle aynıdır — düz adlar, nokta yolları veya tekrarlayıcılar için alt diziler.
// 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;
}
);Öğe adlarını ve özellik adlarını keşfetmek
Translate custom posts GraphQL sorgusunu çalıştırın ve yanıttaki bricksData alanını inceleyin. Her öğe, name ve settings ağacını gösterir — yukarıdaki kancalara geçirmeniz gereken özellik adlarını (iç içe geçmiş nokta yolları ve tekrarlayıcı alanlar dahil) burada bulacaksınız.

Bu sorgunun nasıl çalıştırılacağını öğrenmek için Çevrilecek sayfa oluşturucu verilerini alma kılavuzuna bakın.
Örnekleri nerede bulabilirsiniz
Eklentinin kendi entegrasyonları faydalı bir referanstır. Kurduğunuz eklentinin içinde bu dosyayı inceleyin:
wp-content/plugins/gato-ai-translations-for-polylang/src/ConditionalOnContext/LicenseIsActive/ConditionalOnModule/Bricks/Constants/ElementTypes.php