Teknik

Eklenti çeviri dosyaları nerede durur, güncellemede neden silinir

5 dk okuma · Yayın 21 Ekim 2026 · Son kontrol 20 Ekim 2026 · 5 kaynak

Başlıklar
  1. Üç olası yer
  2. WordPress hangisini okur
  3. Hangi durumda ne yapmalı
  4. Dosyanın gerçekten okunduğunu nasıl anlarsınız
  5. Site dili ile kullanıcı dili
  6. Taşıma ve yedekleme sırasında
  7. Eklentinin Türkçe durumunu önce kontrol edin

Bir eklentinin eksik Türkçe dizelerini kendiniz çevirdiğinizde, emeğin kalıcı olup olmayacağını belirleyen tek şey dosyayı nereye kaydettiğinizdir. Yanlış klasöre konan bir çeviri, eklentinin bir sonraki güncellemesinde sessizce silinir ya da WordPress’in kendi indirdiği paketin altında kalıp hiç okunmaz.

Aşağıda üç olası yeri, WordPress’in bunlara hangi sırayla baktığını ve kendi çevirinizi saklamak için güvenli yolu anlatıyoruz.

Üç olası yer

1. Sistem klasörü, wp-content/languages/plugins/

WordPress.org’un ürettiği Türkçe paketler buraya iner. Eklenti el kitabındaki örnek yol tam olarak budur: wp-content/languages/plugins/eklenti-adi-tr_TR.mo. Dosya adının ilk parçası eklentinin metin alanıdır (çoğu zaman eklentinin kısa adı), ikinci parçası dil kodudur.

Bu klasör WordPress’in yönettiği bir yerdir. Eklentinin yeni bir Türkçe paketi çıktığında WordPress buradaki dosyaların üzerine yazar. Loco Translate’in belgeleri de wp-content/languages klasörünü, güncellemelerde WordPress’in değiştirebileceği yerler arasında sayıyor.

2. Eklentinin kendi klasörü, wp-content/plugins/eklenti-adi/languages/

Geliştiricinin eklentiyle birlikte dağıttığı çeviriler burada durur. Hangi alt klasörün kullanılacağını eklenti başlığındaki Domain Path satırı belirler; el kitabındaki örnek Domain Path: /languages biçimindedir ve yolun eğik çizgiyle başlaması gerekir. WordPress.org dizinindeki eklentilerde bu satır yazılmayabilir.

Bu klasör eklenti güncellendiğinde tamamen yenilenir. Buraya elle koyduğunuz bir dosya ilk güncellemede gider. Loco Translate belgeleri wp-content/plugins klasörünü açıkça “güvensiz” yerler arasında listeliyor.

3. Özel klasör, ör. wp-content/languages/loco/

Çeviri eklentileri kendi dosyalarını WordPress’in dokunmadığı bir alt klasörde tutar. Loco Translate’in özel klasörü wp-content/languages/loco yoludur ve belgede “languages klasörünün diğer alt klasörleri güvenlidir” deniyor. Kendi yaptığınız çeviriyi saklamanız gereken yer burasıdır.

WordPress hangisini okur

İki kural var.

Sistem klasörü önce gelir. Eklenti el kitabı, WordPress 4.6’dan beri translate.wordpress.org çevirilerinin öncelikli olduğunu belirtiyor. Loco Translate’in yükleme belgesi de aynı şeyi söylüyor: WordPress dosyaların öncelikle sistem konumunda olduğunu varsayar ve orada bir çeviri kuruluysa geliştiricinin eklentiyle dağıttığı dosya kullanılmayabilir.

Pratikte bu şu anlama gelir: Bir eklenti kendi klasöründe tam bir Türkçe çeviri taşısa bile, WordPress.org’da eksik bir Türkçe paket varsa ekranda o paket görünür. Eklentinin yarı Türkçe göründüğü bazı durumların nedeni budur.

Aynı yerde iki biçim varsa PHP dosyası okunur. WordPress 6.5 ile çeviriler .mo dosyalarının yanında .l10n.php uzantılı PHP dosyaları olarak da saklanabiliyor. Çekirdek ekibinin duyurusuna göre ikisi birlikte bulunduğunda PHP dosyası yüklenir. Bu yüzden .po dosyasını düzenleyip yalnızca .mo dosyasını yeniden üretirseniz değişikliğiniz görünmeyebilir; eski .l10n.php dosyası hâlâ önceliklidir. Çözüm ya PHP dosyasını da yeniden üretmek (WP-CLI’daki wp i18n make-php komutu) ya da düzenlemeyi özel klasörde yapmaktır.

Loco Translate özel dosyayı nasıl kullanır

Loco Translate, WordPress’in seçtiği dosyayı devre dışı bırakmaz; kendi özel dosyanızı onunla birleştirir. Belgede sonuç “custom”, “custom+system” ya da “custom+author” olarak tarif ediliyor. Yani yalnızca eksik ya da değiştirmek istediğiniz dizeleri özel dosyaya yazmanız yeter; geri kalanı WordPress.org paketinden gelmeye devam eder ve yeni paket indiğinde sizin dizeleriniz kaybolmaz.

Aynı belge önemli bir uyarı da yapıyor: özel yükleyici doğru anda çalışmazsa birleştirme başarısız olur. Bir eklenti çevirilerini çok erken isterse özel dosya hiç okunmayabilir. WordPress 6.7 bu tür erken yüklemeleri artık bir uyarıyla bildiriyor.

Hangi durumda ne yapmalı

Durum Önerilen yol
Eklentinin Türkçe paketi var, birkaç dize eksik Eksik dizeleri translate.wordpress.org’da önerin; acil ise özel klasörde yalnız o dizeleri çevirin
Paket yok, oran düşük Özel klasörde kendi çevirinizi tutun; aynı çevirileri translate.wordpress.org’a da önerin
Paketteki bir çeviriyi beğenmiyorsunuz Özel klasörde değiştirin, translate.wordpress.org’da düzeltme önerisi gönderin
Geliştirici kendi Türkçe dosyasını dağıtıyor ama görünmüyor Sistem klasöründe aynı eklentinin eksik bir paketi olup olmadığına bakın

Kendi sitenizde tuttuğunuz bir çeviri yalnızca sizin işinize yarar. Aynı dizeleri translate.wordpress.org’a önermek, onaylandığında herkesin paketine girer ve sizi her yeni sürümde aynı işi tekrar yapmaktan kurtarır. Bunun adımlarını katkı rehberinde anlattık.

Tablodaki her satırda translate.wordpress.org’a öneri göndermek önerilen yolun bir parçası. Bunun nedeni basit: yerel çeviri yalnızca tek bir sitede yaşar ve eklenti metni değiştikçe elle bakım ister. translate.wordpress.org’daki onaylı çeviri ise eklentinin bütün Türkçe kullanıcılarına gider ve kaynak metin değiştiğinde fuzzy olarak işaretlenip yeniden gözden geçirilir.

Dosyanın gerçekten okunduğunu nasıl anlarsınız

  • Değiştirdiğiniz bir dizeyi ekranda arayın. Görünmüyorsa önbellek eklentinizi ve sunucu önbelleğini temizleyin.
  • wp-content/languages/plugins/ içinde aynı ada sahip .l10n.php dosyası var mı, bakın. Varsa sizin .mo düzenlemeniz geride kalıyor olabilir.
  • Dosya adındaki metin alanının eklentinin kullandığı alanla birebir aynı olduğundan emin olun. El kitabına göre metin alanı küçük harfli, tireli ve boşluksuzdur; wordpress-seo yerine wordpress_seo yazılmış bir dosya hiç eşleşmez.

Site dili ile kullanıcı dili

Çeviri dosyası doğru yerde olsa bile ekranın İngilizce açılmasının bir nedeni daha olabilir: WordPress’te site dili ile kullanıcı dili ayrı ayarlardır. Site dili Ayarlar › Genel sayfasında belirlenir ve ziyaretçinin gördüğü ön yüzü etkiler. Her kullanıcı ise kendi profil sayfasında yönetim panelini hangi dilde görmek istediğini ayrıca seçebilir. Profilde “English (United States)” seçili bir yönetici, site dili Türkçe olsa bile paneli İngilizce görür ve eklentinin Türkçe paketinin çalışmadığını sanabilir. Çeviri sorununu araştırmadan önce bu iki ayarı kontrol etmek, gereksiz dosya aramasını önler.

Taşıma ve yedekleme sırasında

Siteyi başka bir sunucuya taşırken ya da yedekten geri yüklerken wp-content/languages klasörü çoğu zaman wp-content ile birlikte taşınır. Yine de bazı yedekleme araçları yalnızca eklenti ve tema klasörlerini, veritabanını ve yüklemeleri seçmenizi ister. Kendi çevirilerinizi özel bir klasörde tutuyorsanız, yedekleme ayarlarında bu klasörün dahil edildiğinden emin olun. WordPress.org paketleri kaybolursa sorun değildir; WordPress bir sonraki güncelleme denetiminde onları yeniden indirir. Kaybolan şey yalnızca sizin elle yaptığınız çeviriler olur.

Eklentinin Türkçe durumunu önce kontrol edin

Kendi çevirinize başlamadan önce eklentinin Türkçe paketinin olup olmadığını ve kaç dizenin eksik olduğunu görmek işi küçültür. 474 popüler eklentinin güncel durumunu tüm eklentiler listesinde, paketi olup eksik kalanları ayrı bir listede bulabilirsiniz. Paketin nasıl doğduğunu merak ediyorsanız dil paketi yazımız bu yazının devamı niteliğinde.

Kaynaklar

  1. WordPress Plugin Handbook, Localization
  2. WordPress Plugin Handbook, How to Internationalize Your Plugin
  3. Loco Translate, Filesystem permissions and safe locations
  4. Loco Translate, How WordPress and Loco Translate load translation files
  5. Make WordPress Core, I18N Improvements in 6.5 (Performant Translations)

Temabayii’nin bağımsız yayıncısı hazırladı. Bir hata gördüyseniz bize yazın.

Devamını okuyun