Sayfa Oluşturucular
Sayfa OluşturucularGutenberg

Gutenberg

Gutenberg desteği yerleşik olarak gelir ve Gutenberg içeriğinizdeki tüm blokları çevirmek için kullanılır.

Gato AI Translations for Polylang, Gutenberg içeriğindeki bloklardan dizeleri ayıklar ve yalnızca bu dizeleri çevirir; böylece içeriğin hiçbir şekilde bozulmaması sağlanır.

Kutudan çıktığı gibi, aşağıdaki blok türleri otomatik olarak desteklenir:

  • WordPress çekirdek blokları
  • Yalnızca PHP blokları
  • Advanced Custom Fields (ACF) blokları
  • wpml-config.xml içeren tüm bloklar
  • Üçüncü taraf bloklar:
    • Kadence Blocks
    • Greenshift blocks
    • GenerateBlocks blocks
    • Yoast SEO blocks

Desteklenen WordPress çekirdek blokları

Aşağıdaki WordPress çekirdek blokları kutudan çıktığı gibi desteklenir:

  • core/audio
  • core/block (yani senkronize desenler)
  • core/button
  • core/cover
  • core/embed
  • core/heading
  • core/html
  • core/image
  • core/list
  • core/list-item
  • core/media-text
  • core/paragraph
  • core/preformatted
  • core/pullquote
  • core/quote
  • core/table
  • core/verse
  • core/video

Yalnızca PHP blokları

WordPress 7.0 itibarıyla bloklar yalnızca PHP (JavaScript paketi olmadan) olarak kaydedilebilir. Gato AI Translations for Polylang bunları diğer bloklar gibi ele alır: kutudan çıktığı gibi desteklenir, ekstra kurulum gerekmez.

Tüm dize öznitelikleri (enum'lar ve diğer skaler türler dışında) çeviri için otomatik olarak kaydedilir.

Belirli bir alanın çevrilmemesi gerekiyorsa, gatompl:gutenberg_block_type_translatable_attribute_regexes hook'u aracılığıyla false olarak ayarlayarak (veya unset kullanarak) hariç tutabilirsiniz:

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) blokları

Advanced Custom Fields aracılığıyla kaydedilen bloklar da kutudan çıktığı gibi desteklenir. Bir ACF alanını çeviri için kaydetmenin 3 yolu vardır:

1. Tüm alanlar için otomatik (Ayarlar aracılığıyla)

Ayarlar sayfasına gidin, Plugin Integration Configuration > Advanced Custom Fields altında Translate ACF blocks automatically? seçeneğini etkinleştirin:

ACF blokları için otomatik çeviriyi etkinleştirme
ACF blokları için otomatik çeviriyi etkinleştirme

Etkinleştirildiğinde, her ACF bloğundaki her çevrilebilir dize alanı çeviri için gönderilir. Belirli bir alanın çevrilmemesi gerekiyorsa, standart ACF acf/load_field hook'u aracılığıyla gatompl özelliğini 'skip' olarak ayarlayarak hariç tutun:

// 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. Alan alan (ACF alan grubu yapılandırması aracılığıyla)

Alan grubunuzu acf_add_local_field_group() ile tanımlarken, çevrilmesini istediğiniz her alana doğrudan 'gatompl' => 'translate' ekleyin:

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',
            ],
        ],
    ],
]);

Bu, post_object, relationship, taxonomy, image, gallery ve repeater alanları için de çalışır: eklenti iç içe geçmiş repeater yollarını herhangi bir derinliğe kadar takip eder ve varlık referanslarını (gönderiler, terimler, medya) hedef dildeki karşılıklarına yeniden eşler.

3. Alan alan (acf/load_field hook'u aracılığıyla)

Alan grubu kaydını düzenleyemiyorsanız, alanları hariç tutmak için kullanılan aynı ACF hook'ları aracılığıyla dahil edin:

add_filter(
    'acf/load_field/key=testimonial_text',
    static function (array|false $field): array|false {
        if (is_array($field)) {
            $field['gatompl'] = 'translate';
        }
        return $field;
    }
);

Bir ACF bloğu kaydetme

Referans olarak, yukarıdaki alan grubuyla eşleşen minimal bir blok kaydı (ACF PRO'dan acf_register_block_type kullanılarak):

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, herhangi bir eklenti tarafından gönderilen wpml-config.xml dosyasını otomatik olarak okur ve hangi blok özniteliklerinin çevrilebilir olduğunu belirlemek için kullanır.

Attempt Recovery bildirimleri

Bazı bloklar çeviriden sonra düzenleyicide bir Attempt Recovery bildirimi gösterebilir:

Çevrilen Kadence sekme bloğunun Attempt Recovery bildirimini göstermesi
Çevrilen Kadence sekme bloğunun Attempt Recovery bildirimini göstermesi

Daha fazla ayrıntı için bkz. Neden bazı bloklar çeviriden sonra Attempt Recovery gerektirir?.

Belirli bir özelliğin çevirisini devre dışı bırakma

wpml-config.xml aracılığıyla tanımlanan belirli bir özelliğin (veya bir bloğun tüm özelliklerinin) çevirisini devre dışı bırakmak için gatompl:use_wpml_config_for_block_type filtresinden false döndürün:

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

Kadence Blocks eklentisindeki tüm bloklar otomatik olarak desteklenir (wpml-config.xml aracılığıyla).

Aşağıdaki bloklar çeviriden sonra ön yüzde doğru şekilde görüntülenebilir ancak düzenleyicide açıldığında Attempt Recovery bildirimi gösterebilir:

  • kadence/single-icon
  • kadence/tabs
  • kadence/form

Attempt Recovery düğmesine tıklamak bloğun HTML'sini yeniden oluşturur, ancak bu isteğe bağlıdır — ön yüz çıktısı zaten doğrudur (ayrıntıları okuyun).

Greenshift Blocks

Greenshift eklentisindeki tüm bloklar otomatik olarak desteklenir (wpml-config.xml aracılığıyla).

Greenshift'in çevrilen blokları genellikle HTML'sini yeniden oluşturmak için düzenleyicide her blokta Attempt Recovery düğmesine tıklanmasını gerektirir (ayrıntıları okuyun).

GenerateBlocks

GenerateBlocks ve GenerateBlocks PRO eklentilerindeki bloklar:

  • Container
  • Grid
  • Text
  • Button
  • Headline
  • Image
  • Query
  • Shape
  • Site Header
  • Accordion
  • Tabs
  • Navigation

Yoast SEO

Bu bloklar yalnızca basit dizeler için desteklenir. HTML etiketleri içeren dizeler (bağlantılar, resimler, strong veya italic gibi HTML stilleri, yeni satırlar vb.) desteklenmez.

Daha fazla bilgi için Tüm Gutenberg blokları çevrilebilir mi? kılavuzunu okuyun.

Yoast SEO eklentisindeki bloklar:

  • Yoast How-to
  • Yoast FAQ

Ek blokları destekleme

Uygulamanızdan özel blokları veya üçüncü taraf eklentilerden gelen blokları çevirebilirsiniz.

Daha fazla bilgi için Ek Gutenberg bloklarını çevirme kılavuzuna bakın.

Senkronize desenleri çevirme

WordPress'in varsayılan Görünüm > Desenler sayfası senkronize desenleri (yeniden kullanılabilir bloklar olarak da bilinir) çevirmeyi desteklemez, çünkü:

  • Polylang dil seçimi için widget eklemez (bunu yalnızca Polylang PRO yapar)
  • Toplu İşlemler sunmaz, dolayısıyla mevcut desenleri çevirmek mümkün değildir

Bu nedenle, Gato AI Translations for Polylang bu özellikleri etkinleştirerek standart Patterns CPT sayfasını Patterns (Gutenberg) menü öğesi altında sunar.

Özel Desenler sayfası
Özel Desenler sayfası

Bu ekrandan desenleri çevirebilirsiniz (diğer CPT'lerle benzer şekilde):

  • Yayımlandığında yeni desenleri otomatik olarak çevirin (Desen Ekle ekranından)
  • Toplu İşlemler kullanarak mevcut desenleri manuel olarak çevirin
Toplu İşlemler aracılığıyla desenleri çevirme
Toplu İşlemler aracılığıyla desenleri çevirme

Ekranda çevrilen desenler de gösterilecektir:

Özel Desenler sayfası
Özel Desenler sayfası

Özel Desenler sayfasını devre dışı bırakma

Menüdeki Patterns (Gutenberg) sayfasının gösterimini devre dışı bırakabilirsiniz.

Bunu yapmak için Ayarlar sayfasına gidin, Plugin Integration Configuration > Gutenberg altında Enable the Custom Patterns page onay kutusunun işaretini kaldırın.

Ayarlarda özel Desenler sayfasını etkinleştirme
Ayarlarda özel Desenler sayfasını etkinleştirme