ÖzelliklerEklentiFiyatlandırmaKaynaklar
Dili Değiştir
KaynaklarWordPress .po Dosyalarındaki Bulanık Çeviriler Nasıl Düzeltilir?

WordPress .po Dosyalarındaki Bulanık Çeviriler Nasıl Düzeltilir?

SimplePoTranslate Team11 Mayıs 2026
WordPress .po Dosyalarındaki Bulanık Çeviriler Nasıl Düzeltilir?

Her diziyi çevirdiniz. Dosyayı kaydettiniz, .mo dosyasını yüklediniz ve sitenizi yenilediniz. Yine de, birkaç etiket hala inatla İngilizce olarak duruyor. .po dosyasını açıyorsunuz, diziyi buluyorsunuz ve orada, mükemmel bir şekilde çevrilmiş. Peki neden WordPress bunu görmezden geliyor?

Cevap neredeyse her zaman girdinin üzerinde gizlenen küçük bir bayraktır: #, fuzzy. Bir bulanık çeviri, gettext'in "bu çeviri yanlış olabilir, bu yüzden henüz güvenmeyin" deme şeklidir. Ve kritik olarak, WordPress canlı sitede bulanık dizeleri göstermeyi reddeder, bunun yerine orijinal İngilizce'ye geri döner. Bu, "çevirim görünmüyor" sorununun en yanlış anlaşılan nedenlerinden biridir.

Bu kılavuz, bulanık çeviri bayrağının tam olarak ne anlama geldiğini, neden kataloglarınızda sürekli göründüğünü ve Poedit'te, komut satırında ve tüm birikmiş işler genelinde büyük ölçekte bulanık dizeleri nasıl bulup temizleyeceğinizi açıklıyor. Mekanizmayı anladığınızda, eksik çevirilerin gizemi ortadan kalkar.

Bulanık Bayrak Gerçekten Ne Anlama Geliyor?

Bulanık bayrak, gettext'in bir çeviri girdisine, çevirinin belirsiz olduğunu ve insan incelemesine ihtiyaç duyduğunu belirtmek için eklediği bir işaretleyicidir. Ham .po dosyasında, dizenin hemen üzerinde özel bir yorum olarak görünür.

#: includes/cart.php:88
#, fuzzy
msgid "Add to cart"
msgstr "Im Warenkorb"

Bu #, fuzzy satırı, WordPress dahil olmak üzere gettext'i anlayan her araca, altındaki msgstr'nin geçici olduğunu söyler. Çeviri mevcut, ancak gettext bunu onaylanmış olarak kabul etmez.

WordPress Neden Bulanık Dizeleri Atlar?

Herkesi hazırlıksız yakalayan davranış budur. WordPress bir .mo dosyasını derler veya okuduğunda, bulanık girdileri çevrilmemiş olarak kabul eder. Dize teknik olarak dosyada mevcuttur, ancak WordPress kasıtlı olarak onu göz ardı eder ve yerine orijinal msgid'yi gösterir.

Sizin bakış açınızdan çeviri "tamamlanmış" durumdadır, dosyada orada durmaktadır. Ancak WordPress'in bakış açısından, o dizinin güvenilir bir çevirisi yoktur, bu yüzden İngilizce kaynağı işler. Tamamlanmış gibi görünen bir kataloğun ön uçta hala çevrilmemiş metin göstermesinin nedeni tam da budur.

Bu tasarım kasıtlıdır ve adil olmak gerekirse, mantıklıdır. Bulanık bayrağın tüm amacı, doğrulanmamış, potansiyel olarak yanlış çevirilerin sessizce yayına girmesini engellemektir. Başlangıçta "Delete account" yazan ve daha sonra "Deactivate account" olarak değiştirilen bir dizeyi hayal edin. Eğer gettext eski çeviriyi körü körüne tutsaydı, kullanıcılarınız aslında sadece devre dışı bırakan, "Delete account" etiketli bir düğme görebilirdi ki bu tehlikeli bir uyuşmazlıktır. Bulanık dizeleri gizleyerek, gettext bir insanı, çevirinin yeni anlamla hala eşleştiğini kimseye ulaşmadan önce onaylamaya zorlar. Bayrak bir güvenlik mekanizmasıdır, bir hata değil.

Bulanık Bayraklar Neden Sürekli Görünür?

Bulanık bayraklar rastgele değildir. gettext araçları tarafından iki ana durumda otomatik olarak oluşturulurlar ve her ikisini de anlamak, onları nasıl önleyeceğinizi size söyler.

Kaynak Dize Değişti

En yaygın neden bir kaynak güncellemesidir. Geliştiricinin bir sonraki eklenti sürümünde bir dizeyi "Add to cart"den "Add to basket" olarak değiştirdiğini hayal edin. Yeni şablonu mevcut çevirinize birleştirdiğinizde, gettext kaynağın başlangıçta çevirdiğinizle artık eşleşmediğini görür. Eski çevirinizi atmak yerine, onu tutar ancak bulanık olarak işaretler ve esasen şöyle der: "İngilizce değişti, bu yüzden lütfen çevirinizin hala uygun olup olmadığını tekrar kontrol edin."

Çeviri Hafızası ve msgmerge ile Otomatik Eşleştirme

İkinci neden, birleştirme sırasında bulanık eşleştirmedir. msgmerge aracı eski bir çeviri dosyasını yeni bir şablona göre günceller ve önceki bir dizeye benzer ancak tamamen aynı olmayan bir kaynak dize bulduğunda, eski çeviriyi kopyalar ve bulanık olarak işaretler.

# Merge a new template into an existing translation.
# Similar-but-changed strings get marked #, fuzzy automatically.
msgmerge --update awesome-plugin-de_DE.po awesome-plugin.pot

Masaüstü düzenleyicilerindeki Çeviri Hafızası da aynı şekilde davranır: yakın bir eşleşmeden bir öneriyi otomatik olarak doldurduğunda, sonucu bulanık olarak işaretler, böylece onu doğrulamanız gerektiğini hatırlarsınız. Her iki durumda da bayrak işini yapmaktadır. Sorun sadece bulanık girdilerin daha sonra incelenmeden kalması ve WordPress'in onları sessizce gizlemesidir.

Bilinmesi gereken üçüncü, daha sinsi bir kaynak var: kopyala-yapıştır ve toplu içe aktarma araçları. Bazı çeviri platformları ve içe aktarma betikleri, muhafazakar bir önlem olarak her girdiyi varsayılan olarak bulanık işaretler ve her birinin daha sonra bir insan tarafından onaylanmasını bekler. Başka bir sistemden bir katalog içe aktarırsanız ve her bir dizenin aniden bulanık olduğunu fark ederseniz, nedeni genellikle budur. Çeviriler mükemmel olabilir, ancak bayraklar temizlenene kadar hiçbiri sitenizde görünmeyecektir. Bayrakların kaynağını bilmek, her girdiyi gerçekten incelemeniz gerekip gerekmediğini veya kendinize güvenli bir toplu temizlemenin güvenli olup olmadığını size söyler.

Bulanık Dizeler Nasıl Bulunur ve Düzeltilir?

Bulanık dizeleri temizlemek, her birini incelemek ve çevirinin doğru olduğunu onayladıktan sonra bayrağı kaldırmak anlamına gelir. İşin büyüklüğüne bağlı olarak bunu yapmanın üç pratik yolu vardır.

Poedit'te Bulanık Dizeleri Düzeltme

Poedit bunu en kolay hale getirir. .po dosyasını açın ve yalnızca bulanık girdileri göstermek için arama ve filtre kontrollerini kullanın; bunlar renk kodludur (genellikle turuncu) böylece hemen dikkat çekerler. Her birine tıklayın, çeviriyi onaylayın veya düzeltin, ardından klavye kısayoluyla (Düzenle ve sonra "Translation is Fuzzy," veya menüde gösterilen kısayol) bulanık durumu kapatın. Kaydettiğinizde, Poedit temiz bir .mo dosyasını yeniden derler ve artık onaylanmış dizeler sitenizde görünecektir. Bu düzenleyiciye yeni başlıyorsanız, eksiksiz Poedit kılavuzu filtre ve inceleme iş akışını ayrıntılı olarak ele alır.

Komut Satırında Bulanık Dizeleri Düzeltme

Otomasyon veya büyük kataloglar için komut satırı daha hızlıdır. Bulanık girdileri sayabilir ve toplu olarak doğruladıktan sonra bayrakları kaldırabilirsiniz, böylece WordPress onları yükleyecektir.

# Count how many fuzzy strings remain
msgattrib --only-fuzzy --no-obsolete awesome-plugin-de_DE.po | grep -c "msgid"

# Clear all fuzzy flags (only after you trust the translations)
msgattrib --clear-fuzzy --empty awesome-plugin-de_DE.po \
  --output-file=awesome-plugin-de_DE.po

Toplu temizleme konusunda dikkatli olun. Çevirileri incelemeden bulanık bayrakları kaldırmak, bayrağın amacını bozar ve kullanıcılarınıza gerçekten yanlış metin göndermenize neden olabilir. Çevirilerin kaynağına güvendiğinizde komut satırı yaklaşımını, güvenmediğinizde ise manuel Poedit yolunu kullanın.

Güvenli bir orta yol, bulanık dizeleri ayrı bir dosyaya aktarmak, sadece onları incelemek ve sonra geri birleştirmektir. Bu, onaylanmış çevirilerinizi dokunulmadan bırakırken, yalnızca gerçekten dikkat gerektiren girdilere odaklanmanızı sağlar.

# Extract only the fuzzy entries for focused review
msgattrib --only-fuzzy --no-obsolete awesome-plugin-de_DE.po \
  --output-file=fuzzy-only.po

Elli ayrı dizeyi incelemek, bin satırlık bir katalogda turuncu sıraları aramak için kaydırmaktan çok daha az hataya açıktır ve son güncellemede tam olarak neyin değiştiğine dair temiz bir kayıt sunar.

Bayrakları temizledikten sonra, .mo dosyasını her zaman yeniden kaydedin veya yeniden derleyin. Bulanık durum .po dosyasında bulunur, ancak WordPress ikili .mo dosyasını okur, bu nedenle yeniden oluşturana kadar, .po temiz görünse bile ön ucunuz İngilizce göstermeye devam edecektir. Poedit kaydederken otomatik olarak yeniden derler; komut satırında msgfmt awesome-plugin-de_DE.po -o awesome-plugin-de_DE.mo komutunu çalıştırırsınız. Bu son derleme adımını unutmak, yeni temizlenmiş bir kataloğun hala görünmemesinin en yaygın nedenlerinden biridir; çeviri kaynak dosyada onaylanmıştır, ancak sitenin gerçekte yüklediği ikili dosya eskidir.

Bulanık girdilerin genellikle çoğul dizelerle birlikte göründüğünü unutmayın; burada değişen bir msgid_plural tüm çoğul bloğu bulanık olarak işaretleyebilir. Bulanık birikiminiz sayılar ve miktarlar açısından yoğunsa, Gettext çoğulları ve karmaşık çoğullaştırma kılavuzumuz, bu girdilerin birleştirmeler sırasında neden özellikle hassas olduğunu açıklar.

Büyük Ölçekte Bulanık Birikimi Temizleme

Tek bir bulanık dize otuz saniyelik bir düzeltmedir. Büyük bir eklenti güncellemesinden sonra dört yüz bulanık dize içeren bir katalog farklı bir sorundur ve bir düzineden fazla dilde gerçek bir darboğaz haline gelir. Bayrakları incelemeden toplu olarak temizleme cazibesi, bozuk çevirilerin üretim ortamına nasıl ulaştığının tam yoludur.

Daha temiz bir çözüm, eski eşleşmeleri damgalamak yerine bulanık girdileri taze bir şekilde yeniden çevirmektir. Bir kataloğu SimplePoTranslate aracılığıyla çalıştırdığınızda, bağlama duyarlı yapay zeka değişen her dize için güncel, onaylanmış bir çeviri üretir, böylece sadece bir uyarı bayrağını kaldırmakla kalmaz, belirsiz eşleşmeleri gerçek çevirilerle değiştirirsiniz. Sözdizimi Kilitleme her %s, %1$s, {count} ve HTML etiketini geçiş sırasında sağlam tutar ve Akıllı Gruplandırma büyük güncelleme sonrası katalogları tek seferde işler. .po, .mo, .json, .php ve .xliff içeren temiz bir ZIP dosyası alırsınız, hiç bulanık birikim kalmaz, buluttan dağıtıma hazır.

Bunu, çevirilerin neden hiç görünmediği gibi daha geniş bir sorudan ayırmak önemlidir. Bulanık bayraklar belirli bir nedendir, ancak eksik .mo dosyaları, yanlış dosya adları ve yerel ayar uyuşmazlıkları da aynı semptoma neden olur. Tam teşhis kontrol listesi için, bulanık dizeleri daha büyük bir listedeki bir öğe olarak ele alan WordPress'te çevirilerinizin neden görünmediği sorun giderme kılavuzumuza bakın.

Sitenizde tüm bulanık birikmiş işleri temizlemeye ve her dizenin görünmesini sağlamaya hazır mısınız? SimplePoTranslate'i ücretsiz deneyin — kredi kartı gerekmez. Ücretsiz katman, .po dosyanızı taze bir şekilde yeniden çevirir, belirsiz bulanık eşleşmeleri temiz, onaylanmış çevirilerle değiştirir.