uydudoktoru

Tanınmış Üye
Yönetici

XenForo 2.3 Lightbox (Fancybox v5) Türkçeleştirme Rehberi​

xenforo-lightbox-turkce.webp
Bu resimde gözüken yukarıda sağdaki ikonlar dil şeceneğinden bir kısmı türkçe oluyor bir kısmı olmuyor.

XenForo 2.3 ile Gelen Yeni Lightbox Yapısı ve Dil Sorunu​

XenForo 2.3 güncellemesi ile beraber görsel görüntüleyici altyapısı Fancybox v5 olarak değiştirildi. Ancak birçok forum yöneticisi, görseller açıldığında butonların (Zoom, Full Screen, Close vb.) İngilizce kalması sorunuyla karşılaşıyor. Bu rehberde, bu sorunu cümleler (phrases) ve CSS müdahalesi ile nasıl kökten çözeceğinizi anlatıyoruz.

Adım Adım Fancybox v5 Türkçeleştirme İşlemi​

Bu yöntem, şablon (template) düzenlemesi gerektirmeden en temiz ve güncellenebilir kesin çözüm yoludur:

Cümleler (Phrases) Üzerinden Değişiklik: Admin panelinden hangi cümlelerin (örneğin: fancybox_next, fancybox_close) değiştirilmesi gerektiğini liste halinde yaz ve bunları türkçe keleimeler ile değiştir. Yine de olmazsa

PAGE_CONTAINER aşağıdaki kodu yazarak sorunu düzeltme yoluna gittim belki başka arkadaşlarımızın işine yarayabilir. Belki başka bir yolu da olabilir ama ben bu şekilde çözdüm.

HTML:
<script>
window.addEventListener('DOMContentLoaded', (event) => {
    // 1. Genel Fancybox Çevirileri
    if (typeof Fancybox !== "undefined") {
        Fancybox.defaults.l10n = {
            ...Fancybox.defaults.l10n,
            CLOSE: "Kapat",
            NEXT: "Sonraki",
            PREV: "Önceki",
            MODAL: "Bu içerik kapatılamaz.",
            ERROR: "Bir hata oluştu.",
            IMAGE_ERROR: "Resim yüklenemedi.",
            TOGGLE_ZOOM: "Yakınlaştır",
            TOGGLE_THUMBS: "Küçük Resimler",
            TOGGLE_SLIDESHOW: "Slayt Gösterisi",
            TOGGLE_FULLSCREEN: "Tam Ekran",
            ITERATE_ZOOM: "Yakınlaştır"
        };
    }

    // 2. İnatçı "Toggle zoom level"ı silen ve düzelten takipçi
    setInterval(function() {
        const zoomBtn = document.querySelector('button[data-panzoom-action="iterateZoom"]');
        if (zoomBtn) {
            // İngilizce metin hala duruyorsa müdahale et
            if (zoomBtn.getAttribute('title') !== 'Yakınlaştır') {
                zoomBtn.setAttribute('title', 'Yakınlaştır');
                zoomBtn.setAttribute('aria-label', 'Yakınlaştır');
             
                // Bazı tarayıcıların eski başlığı (title) bellekte tutmasını engellemek için
                zoomBtn.onmouseover = function() {
                    this.setAttribute('title', 'Yakınlaştır');
                };
            }
        }
    }, 400); // Her 0.4 saniyede bir kontrol eder (sistemi yormaz)
});
</script>

Kodu PAGE_CONTAINER içine </head> etiketinden hemen önce yazacaksınız

Bu işlemlerden sonra Lightbox butonlarınız Türkçe olacaktır. Web sitemizden kontrol edebilirsiniz.

xenforo-lightbox-turkce-yapma.webp
 
Son düzenleyen: Moderatör:
Geri
Yukarı