Ek Elementor widget'larını çevirme
Gato AI Translations for Polylang, widget tabanlı Elementor sayfalarını çevirebilir.
Eklenti, tüm Elementor ve Elementor PRO widget'ları için destek ile birlikte gelir. Özel veya üçüncü taraf widget'lar için PHP hook'ları aracılığıyla çeviri desteğini genişletebilirsiniz.
Dizeleri çevirme
Bir Elementor widget'ında ek çevrilebilir özellikler bildirmek için gatompl:elementor_widget_type_translatable_properties filtresini kullanın.
Filtre, [widgetName => properties] biçiminde bir eşleme alır. properties girdisi şunları içerebilir:
- Düz kontrol adları — örn.
'author_name' - Nokta-yolu — örn.
'author_avatar.alt'(settings.author_avatar.altolarak çözümlenir) - Tekrarlayıcı alanlar —
[repeaterName => [...subFields]]biçiminde bir alt dizi olarak bildirilir
Bunlar serbestçe birleştirilebilir ve iç içe geçme herhangi bir derinliğe kadar gidebilir.
Örneğin, şu hook şunları yapar:
blockquotewidget'ında düz kontrolauthor_nameve nokta-yoluauthor_avatar.altöğelerini çevrilebilir hale getirirreviewswidget'ınınslidestekrarlayıcısındakinamealt alanını çevrilebilir hale getirir
add_filter(
'gatompl:elementor_widget_type_translatable_properties',
static function (array $translatableProperties): array {
$translatableProperties['blockquote'][] = 'author_name';
$translatableProperties['blockquote'][] = 'author_avatar.alt';
$translatableProperties['reviews']['slides'][] = 'name';
return $translatableProperties;
}
);Aynı filtre hem basit kontroller hem de tekrarlayıcı alanlar için geçerlidir — tekrarlayıcılar için ayrı bir hook yoktur.
Varlık referanslarını çevirme
Bir özellik, çeviri sırasında hedef dildeki karşılık gelen varlığa yeniden eşlenmesi gereken bir varlık kimliği (gönderi, taksonomi terimi, medya öğesi veya menü) saklayabilir. Uygun filtreyi kullanın:
| Referans türü | Filtre |
|---|---|
| Özel gönderiler ve medya | gatompl:elementor_widget_type_custompost_and_media_reference_properties |
| Taksonomi terimleri | gatompl:elementor_widget_type_taxonomy_term_reference_properties |
| ID'ye göre menüler | gatompl:elementor_widget_type_menu_reference_by_id_properties |
| Slug'a göre menüler | gatompl:elementor_widget_type_menu_reference_by_slug_properties |
Yapı, ç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:elementor_widget_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:elementor_widget_type_taxonomy_term_reference_properties',
static function (array $properties): array {
$properties['related-category'][] = 'category_id';
return $properties;
}
);
// Menu reference by ID
add_filter(
'gatompl:elementor_widget_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:elementor_widget_type_menu_reference_by_slug_properties',
static function (array $properties): array {
$properties['menu-picker'][] = 'menu_slug';
return $properties;
}
);Widget adlarını ve özellik adlarını keşfetme
Translate custom posts GraphQL sorgusunu çalıştırın ve yanıttaki elementorData alanını inceleyin. Her widget, kendi widgetType'ını ve settings ağacını ortaya koyar — yukarıdaki hook'lara iletmeniz 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 Sayfa oluşturucu verilerini çeviri için alma kılavuzuna bakın.
Örnekleri nerede bulabilirsiniz
Eklentinin kendi entegrasyonları yararlı bir referanstır. Kurduğunuz eklentinin içindeki şu dosyayı inceleyin:
wp-content/plugins/gato-ai-translations-for-polylang/src/ConditionalOnContext/LicenseIsActive/ConditionalOnModule/Elementor/Constants/WidgetTypes.php