Bir blok temasında Türkçe çeviri yüzdesi %100 olsa bile bazı metinler İngilizce kalabilir. Nedeni, blok temasında metinlerin üç farklı yerde durması ve her birinin farklı bir yolla çevrilmesidir. HTML şablonlarına doğrudan yazılmış metin hiç çevrilmez, PHP desenlerindeki metin çeviri dosyasından gelir, theme.json’daki adlar ise ayrı bir kurallar listesine göre çevrilir. Buna bir de site editöründe kaydedilen şablonların veritabanında donup kalması eklenir. Aşağıda dördünü sırayla ele alıyor, ardından verimizdeki blok temalarının Türkçe durumuna bakıyoruz.
Blok teması ne demek
Klasik bir tema sayfaları header.php, single.php gibi PHP dosyalarıyla üretir. Blok teması (WordPress.org’da “Block themes”, eski adıyla tam site düzenleme ya da FSE) ise sayfa iskeletini blok işaretlemesinden oluşan .html dosyalarıyla tanımlar. Theme Handbook’a göre şablonlar /templates, şablon parçaları (üst bilgi, alt bilgi gibi) /parts klasöründe durur. Kullanıcı bu şablonları Görünüm > Düzenleyici ekranından, yani site editöründen değiştirebilir.
Şablon dosyasına yazılmış metin çevrilmez
Çeviri, PHP’deki __(), esc_html_e() gibi fonksiyonların çalışmasıyla olur. Bir .html dosyası PHP çalıştırmaz. Theme Handbook bunu desenlerin şablonlarda neden kullanıldığını anlatırken söyler. Şablonlar ve şablon parçaları HTML dosyalarıdır ve dinamik işlevler için PHP fonksiyonlarına erişim gerekir.
Bu yüzden tema geliştiricisi bir şablona doğrudan <p>Read more</p> yazmışsa bu metin her dilde “Read more” olarak görünür. Çeviri ekibi onu çeviremez, çünkü metin translate.wordpress.org’a hiç ulaşmaz. Çeviri dizeleri temanın kodundan otomatik olarak çıkarılır. WP-CLI’ın make-pot komutunun belgesi taranan dosyaları PHP, Blade-PHP ve JavaScript dosyaları ile tema stil dosyası olarak sayar. .html şablonlar bu listede yoktur.
Bu, bir blok temasının çeviri yüzdesini yorumlarken akılda tutulması gereken bir boşluktur. Yüzde, yalnızca çevrilebilir hâle getirilmiş dizeleri ölçer. Şablona gömülü İngilizce metinler ne paydada ne payda yer alır.
Desenler çeviriyi şablona taşır
Geliştiricilerin bu sorunu çözme yolu desenlerdir (pattern; Türkçe panelde “Modeller” adıyla geçer). Desen, temanın /patterns klasöründeki bir PHP dosyasıdır. Theme Handbook’a göre bu klasöre konan ve geçerli bir başlığı olan her dosya otomatik olarak kaydedilir. Desen PHP olduğu için içindeki metin çeviri fonksiyonlarıyla yazılabilir. Şablon da deseni kendi içine şu tek satırla çağırır.
<!-- wp:pattern {"slug":"twentytwentyfive/hidden-404"} /-->
Bu örnek Twenty Twenty-Five’ın 404 şablonundan alınmıştır. Şablonda tek bir İngilizce kelime yoktur, sayfa içeriği hidden-404 deseninden gelir. Desen dosyasında başlık ve paragraf şöyle yazılmıştır.
<?php echo esc_html_x( 'Page not found', '404 error message', 'twentytwentyfive' ); ?>
Desenin başlığındaki Inserter: no satırı, bu desenin blok ekleyicide görünmemesini sağlar. Kullanıcı onu desen listesinde görmez, desen yalnızca şablonu çevrilebilir kılmak için vardır. Theme Handbook’a göre desen başlığındaki Title alanı da çevrilebilir.
Çekirdek blok temaları bu düzeni baştan uygular, bu yüzden çeviri yüzdeleri sayfada gördüğünüz metnin gerçekten tamamını kapsar. Twenty Twenty-Two’dan Twenty Twenty-Five’a dört çekirdek blok teması verimizde %100 Türkçedir. Dördünün dize sayıları 86 ile 480 arasındadır. Ayrıntılar varsayılan temalar sayfasında.
theme.json’da çevrilen alanlar
Blok temasının renk paleti, yazı tipi boyutları ve benzeri ayarlar theme.json dosyasında durur. Bu dosyada görünen adlar, örneğin site editöründeki renk seçicide görünen “Primary” ya da “Large”, çevrilebilir. Ancak dosyadaki her alan çevrilmez. Hangi alanların çevrileceğini çekirdekteki theme-i18n.json dosyası belirler. Ekim 2026’daki geliştirme sürümünde liste şöyledir.
| theme.json alanı | Ne görünür |
|---|---|
title, description (stil varyasyonlarında) |
Stil varyasyonunun adı ve açıklaması |
settings.color içindeki palette, gradients, duotone adları |
Renk, geçiş ve çift ton seçenekleri |
settings.typography içindeki fontSizes, fontFamilies, textShadowPresets adları |
Yazı boyutu, yazı tipi ve metin gölgesi seçenekleri |
spacing.spacingSizes, dimensions.aspectRatios, dimensions.dimensionSizes, shadow.presets, border.radiusSizes adları |
Boşluk, en-boy oranı, boyut, gölge ve köşe yuvarlama seçenekleri |
customTemplates ve templateParts başlıkları |
Şablon ve şablon parçası adları |
Aynı alanlar settings.blocks altındaki bloğa özel ayarlarda da çevrilir. Listede olmayan bir alana yazılan metin, örneğin bir slug ya da bir CSS değeri, çevrilmez. Zaten bunlar ziyaretçiye görünmez.
Bu alanlar çeviri dosyasına nasıl girer? WP-CLI’ın make-pot belgesindeki --skip-theme-json seçeneği, theme.json dosyalarından dize çıkarmayı atlamak içindir. Yani komut varsayılan olarak theme.json’daki çevrilebilir adları da toplar. Bu adların çevirisi, temanın öbür dizeleriyle aynı .mo dosyasında taşınır.
Pratikte theme.json çevirisi ziyaretçiyi değil, siteyi yöneteni ilgilendirir. Renk ve boyut adları site editöründe ve blok ayarlarında görünür, sitenin ön yüzünde görünmez.
Site editöründe kaydedilen şablon çeviriyi donuk tutar
Blok temalarında en çok şaşırtan durum budur. Theme Handbook’a göre kullanıcının site editöründe yaptığı değişiklikler sitenin veritabanına, şablon dosyalarındakiyle aynı biçimde, blok işaretlemesi olarak kaydedilir ve tema dosyasındaki şablonun yerini alır.
Bunun çeviriye etkisini Gutenberg’in Pattern bloğu kodu gösterir. Editör bir şablonu açtığında wp:pattern satırını desenin içeriğiyle değiştirir. Koddaki açıklamaya göre bu değişiklik kaydedilmez ve ilgili şablon değiştirilmediği sürece içerik desen dosyasından gelmeye devam eder. Siz şablonda herhangi bir şeyi değiştirip kaydettiğinizde ise ekranda gördüğünüz metin, desen çağrısı yerine düz blok işaretlemesi olarak veritabanına yazılır.
Bunun üç sonucu var.
- Sonraki çeviri düzeltmeleri gelmez. Kaydettiğiniz andaki Türkçe metin sabitlenir. Çeviri ekibi o dizeyi sonradan düzeltse ya da tema dil paketi güncellense bile kaydedilmiş şablon eski metni göstermeye devam eder.
- Tema güncellemeleri gelmez. Geliştirici şablona yeni bir bölüm eklese bile sizin kaydettiğiniz sürüm öncelikli olduğu için değişiklik görünmez.
- Editörün dili metne geçebilir.
determine_locale()fonksiyonu yönetim panelinde kullanıcının profil dilini kullanır. Site Türkçe ama profil diliniz İngilizce ise site editöründe desen metinleri İngilizce yüklenir ve şablonu kaydettiğinizde bu İngilizce metin veritabanına geçer. Sonuçta ön yüzde Türkçe bir sitede İngilizce bir 404 sayfası görürsünüz. Profil dili ile site dili arasındaki farkı site dili ayarları yazısında anlattık.
WordPress belgelerine göre değiştirdiğiniz bir tema şablonunu, şablon listesindeki menüden ya da şablon ayarlarından “Clear customizations” seçeneğiyle (İngilizce arayüzdeki adı) temanın varsayılanına döndürebilirsiniz. Bu seçenek yalnızca değiştirilmiş şablonlarda görünür ve şablona yaptığınız değişiklikleri siler. Kendi oluşturduğunuz şablonlarda sıfırlama yoktur, yalnızca silme ve yeniden adlandırma vardır. Sıfırlamadan önce yaptığınız tasarım değişikliklerini not almanız iyi olur.
Klasik temada bu sorun yoktur, çünkü şablonlar her istekte PHP olarak çalışır ve her seferinde güncel çeviriyi okur. .po ve .mo dosyalarının güncellemede kaybolması ise iki tema türünde de aynı şekilde yaşanır, onu .po ve .mo dosyaları yazısında ele aldık.
Verimizdeki blok temaları
Sitemizdeki 245 ücretsiz temanın 44’ü WordPress.org’da “Block themes” (full-site-editing) etiketini taşıyor. Bu 44 temanın 25’i için translate.wordpress.org Türkçe istatistiği veriyor, 19’unun Türkçe istatistiği yok. Veri 18 Ekim 2026 tarihli.
| Türkçe seviyesi | Blok temaları (44) | Klasik temalar (201) |
|---|---|---|
| %90 ve üzeri | 6 | 29 |
| %50–89 | 4 | 26 |
| %1–49 | 1 | 57 |
| %0 | 14 | 64 |
| İstatistik yok | 19 | 25 |
Blok temalarındaki altı tam Türkçe temanın dördü çekirdek temalardır. Çekirdek temaları çıkarınca istatistiği olan 21 blok temasının yalnızca ikisi %90’ın üzerinde. Bunlardan biri yalnızca 23 dizeye sahip Zino, öbürü 78 dizenin 74’ü çevrilmiş Jaxon. Aynı 21 temanın 14’ü, yani üçte ikisi %0’da. Klasik tarafta çekirdek temalar çıkarıldığında %0 oranı istatistiği olan 165 temada 64 temayla %39 civarında. Bu fark tek başına blok temalarının daha zor çevrildiğini göstermez, örneklem küçüktür ve %0’daki 14 temanın içinde 200.000 kurulumlu Extendable gibi büyük temalar da var. Gösterdiği şey, ücretsiz blok temalarında Türkçe çevirinin henüz büyük ölçüde gönüllülerin el atmasını beklediğidir.
İstatistiği olan blok temalarında medyan dize sayısı 246, klasik temalarda 275. Blok temaları biraz daha az dizeyle gelir. Bunun bir kısmı yukarıda anlattığımız HTML şablon boşluğundan da kaynaklanabilir, çünkü şablona gömülü metin dize sayısına girmez.
Ayrı sayfası olan blok temaları
Sitemizde tek tema sayfası açtığımız altı blok teması şunlar.
| Tema | Türkçe | Çevrilen / toplam dize | Dil paketi |
|---|---|---|---|
| Jaxon | %95 | 74 / 78 | Var |
| Fork | %89 | 82 / 92 | Var |
| Riverbank | %89 | 81 / 91 | Var |
| Raft | %80 | 197 / 246 | Var |
| Greenshift | %55 | 193 / 353 | Yok |
| Spectra One | %5 | 26 / 508 | Yok |
Fork ve Riverbank %90 eşiğine 1 dize uzaklıkta. Bu iki tema ile Raft %90’ın altında olduğu hâlde verimizde dil paketi kaydı taşıyor. Meta çeviri el kitabına göre bir dil paketi bir kez oluştuktan sonra oran %90’ın altına düşse bile kaynak ya da çeviri değiştikçe yeniden üretilmeye devam eder. Eşiğin ayrıntıları dil paketi %90 kuralı yazısında, eşiğe birkaç dize kalan bütün temalar eşiğe yakın temalar listesinde.
Blok teması seçerken kontrol
Bir blok temasının Türkçe hazırlığını çeviri yüzdesinin ötesinde sınamak için şunlara bakabilirsiniz.
- Ana sayfa ve 404 sayfası. Site dili Türkçeyken temanın ana sayfasını, arşiv sayfasını ve var olmayan bir adresi açın. İngilizce kalan metin varsa ve çeviri yüzdesi yüksekse bu metin büyük olasılıkla şablona gömülüdür.
- Desenler. Blok ekleyicideki Modeller sekmesinde temanın desenlerini açın. Desen başlıkları ve içerikleri Türkçe geliyorsa tema desenlerinde çeviri fonksiyonlarını kullanıyordur.
- Profil dili. Site editörüne girmeden önce profil dilinizin Türkçe olduğundan emin olun. Böylece kaydedeceğiniz şablonlara İngilizce metin geçmez.
- Kaydetmeden önce düşünün. Bir şablonu site editöründe kaydettiğiniz anda o şablon çeviri güncellemelerinden kopar. Yalnızca gerçekten değiştirmek istediğiniz şablonları kaydedin.