WordPress'te Çevirilerinizin Neden Görünmediği (Sorun Giderme Rehberi)

WordPress geliştirmede "Sessiz Hata"dan daha sinir bozucu bir şey yoktur.
Her şeyi doğru yaptınız. .po dosyasını çevirdiniz. Onu bir .mo dosyasına derlediniz. FTP ile sunucunuza yüklediniz. Önbelleğinizi temizlediniz.
İspanyolca, Fransızca veya Almanca görmeyi umarak sayfayı yeniliyorsunuz. Bunun yerine... İngilizce görüyorsunuz.
Hata mesajı yok, beyaz ekran yok; sadece inatçı, çevrilmemiş metin. Saçınızı başınızı yolmadan önce bu kılavuzu okuyun. İşte çevirilerin WordPress'te yüklenmemesinin en yaygın 5 nedeni ve bunları nasıl düzelteceğiniz.
1. Dosyayı Yanlış Adlandırıyorsunuz
WordPress, dosya adlandırma konusunda inanılmaz derecede katıdır. Bir karakteri bile kaçırsanız, dosyayı yüklemez.
Standart format şöyledir: {text-domain}-{locale}.mo
- Metin Alanı (Text Domain): Bu, temanın veya eklentinin benzersiz kimliğidir (örneğin,
woocommerce,twentytwentyfour,my-custom-plugin). - Yerel Ayar (Locale): WP yerel ayar kodu (örneğin, İspanya İspanyolcası için
es_ES, Fransızca içinfr_FR).
Yaygın Hatalar:
- Dosyayı yalnızca
es_ES.moolarak adlandırmak (Bu yalnızca genel WordPress çekirdek dosyaları için geçerlidir, eklentiler için değil). - Yanlış tire kullanmak:
my_plugin_es_ES.mo(Alt çizgi) yerinemy-plugin-es_ES.mo(Tire). - Metin alanını tahmin etmek. Tam slug'ı bulmak için eklentinin kodunu (
style.cssbaşlığı veyaload_plugin_textdomainişlevi) kontrol etmelisiniz.
2. Dosyayı Yanlış Klasöre Koydunuz
Dosyayı nereye yüklediğiniz, ne adlandırdığınız kadar önemlidir. WordPress, belirli dizinlere belirli bir sırada bakar.
- "Güvenli" Sistem Klasörü:
/wp-content/languages/plugins/veya/wp-content/languages/themes/.- Artıları: Bu, eklenti güncellemelerinden güvenlidir.
- Eksileri: Dosyayı
textdomain-locale.moolarak adlandırmanız gerekir.
- Yazar Klasörü:
/wp-content/plugins/plugin-name/languages/.- Artıları: Bulması kolay.
- Eksileri: TEHLİKE. Eklentiyi güncellediğinizde, bu klasör tamamen temizlenir. Çevirileriniz kaybolur.
En İyi Uygulama: Güncellemeler sırasında veri kaybını önlemek için özel .mo dosyalarınızı her zaman genel /wp-content/languages/ dizinine koyun.
3. "Sessiz Katil": .po Dosyasındaki Bozuk Sözdizimi
Bu, hata ayıklaması en zor sorundur ve genellikle genel AI çeviri araçlarında meydana gelir.
WordPress, .po metin dosyalarından derlenen ikili .mo dosyalarını okur. .po dosyanız sözdizimi hataları içeriyorsa, .mo dosyası oluşturulabilir, ancak dahili olarak "bozuk" olur.
Bu nasıl olur? Bir çevirmen (insan veya AI) Gettext biçimlendirmesini bozarsa, dize geçersiz hale gelir.
- Örnek: Kapanış tırnağının eksik olması
". - Örnek: Bir değişkeni bozmak (
%söğesini% solarak değiştirmek). - Örnek:
msgid_pluralsayısını karıştırmak.
WordPress, .mo dosyasında bozuk bir girişle karşılaştığında, genellikle onu atlar veya dosyanın tamamını okumayı bırakır ve orijinal İngilizceye geri döner.
4. Derlemeyi Unuttunuz (.po - .mo)
WordPress doğrudan .po dosyalarını okuyamaz. Bu yaygın bir yanılgıdır.
.po= İnsanlar tarafından okunabilir (Portable Object)..mo= Makineler tarafından okunabilir (Machine Object).
Eğer bir my-theme-es_ES.po dosyası yüklerseniz ancak eşleşen .mo dosyasını oluşturmayı unutursanız, hiçbir şey olmaz. Onu derlemeniz gerekir.
5. Önbellekleme (Her Zamanki Şüpheli)
Önbellekleme eklentileri (WP Rocket, LiteSpeed) veya sunucu tarafı önbellekleme (Varnish, Redis) kullanıyorsanız, siteniz çeviriyi yüklemeden önceki bir önbelleğe alınmış HTML sürümünü sunuyor olabilir.
Düzeltme: tarayıcı önbelleğiniz ve nesne önbelleğiniz dahil olmak üzere tüm önbellekleri temizleyin.
Nihai Çözüm: En Baştan Geçerli Dosyalar
Dosya yollarında ve adlarında sorun gidermek kolaydır. Bozuk sözdiziminde sorun gidermek (Neden #3) ise bir kabustur.
Kod değişkenlerinizi bozan veya Gettext yapısını bozan bir araç kullanırsanız, dosyanın neden çalışmadığını merak ederek saatler harcarsınız ve dosyanın kendisinin "zehirli" olduğunu fark etmezsiniz.
İşte bu yüzden SimplePoTranslate'i geliştirdik.
- Sözdizimi Kilitleme: İndirmeden önce her dizenin sözdizimsel olarak geçerli olduğundan emin oluruz.
%sgibi değişkenleri kilitleriz, böylece bozulamazlar. - Mükemmel Biçimlendirme: Çalışan
.modosyalarına %100 oranında derlenen temiz, standart.podosyaları oluştururuz. - Eklenti Gerekmez: Dosyayı indirirsiniz ve çalıştığını bilirsiniz. Sadece doğru klasöre yüklemeniz gerekir.
- WordPress Eklentisi: Manuel yüklemeyi tamamen atlamak mı istiyorsunuz? Resmi SimplePoTranslate WordPress eklentimiz, temanızın ve eklentinizin
.potdosyalarını otomatik olarak algılar, bulutta çevirir ve sonucu doğru dosya adıyla doğru dizine dağıtır. Artık yanlış adlandırılmış dosyalar, yanlış klasör yolları yok; çevirilerin görünmemesinin en yaygın iki nedeni.
Çevirilerinizin neden görünmez olduğunu tahmin etmeyi bırakın. Güvenebileceğiniz bir dosyayla başlayın.
Baş ağrısı olmadan çeviri yapmaya hazır mısınız? SimplePoTranslate.com adresinde ücretsiz olarak başlayın