Gettext Filtresine Giriş
Yayınlanan: 2023-02-12WordPress siteniz için tüm gereksinimlerinizi karşılayan bir eklenti veya tema bulmak zor olabilir. Birçoğu yaklaşabilir ancak yine de ayarlamalara veya özelleştirmelere ihtiyaç duyar. Ek olarak, bir geliştirici olarak, kodunuzun dünyanın dört bir yanından kullanıcıları destekleyecek kadar esnek olmasını sağlamak çok önemlidir.
Neyse ki, sitenizin belirli öğelerini uyarlamanıza yardımcı olabilecek WordPress çekirdeğinin bazı özellikleri vardır. Bu, yararlı bir eklentiden vazgeçmek yerine düğmeyi veya metni etiketlemenizi veya hatta sitenizi çeviri için hazırlamanızı sağlar.
Bu makalede, sitenizin çeviri sürecinde nasıl çalıştığı da dahil olmak üzere gettext filtresinin daha iyi anlaşılmasını sağlayacağız. Ele alınacak çok şey var, o yüzden hemen konuya girelim!
Gettext nedir?
Gettext filtresi, WordPress sitenizdeki metin öğelerini değiştirmenizi sağlar. En iyi bir örnek üzerinden anlaşılır.
Yorum formunuzun iki alanı olduğunu varsayalım: "Ad" ve "E-posta". "Ad" ve "E-posta Adresi"ni okumalarını tercih ederseniz, tema dosyalarınızdaki her bir terimin her bir örneğini manuel olarak değiştirmek zorunda kalmadan bunları değiştirmek için gettext filtresini kullanabilirsiniz.
Gettext filtresi, yalnızca siteniz çeviri için hazırlanmışsa çalışır. Bu nedenle, metni özelleştirmek için onu nasıl kullanabileceğinize dalmadan önce, kodunuzu nasıl uluslararasılaştıracağımızı tartışmalıyız.
Devam etmeden önce anlaşılması gereken birkaç terim şunları içerir:
- Uluslararasılaştırma (i18n). Bu, WordPress kodunuzun diğer dillere çevrilmek üzere hazırlandığı anlamına gelir.
- Yerelleştirme (l10n). i18n programlamasını alıp WordPress kurulumunuzu ana dilde kullanmak üzere yerelleştirebileceğiniz süreç.
- GNU gettext kitaplığı. GNU ücretsiz, açık kaynaklı bir işletim sistemidir. Gettext kitaplığı, metni daha sonra çeviri için çıkarılabilen kod dizelerine sarmanıza olanak tanır.
- POT dosyası: gettext işlevleriyle oluşturulan çevrilebilir dizelerin çıkarılmasını gerçekleştirmek için Taşınabilir Nesne Şablonu (POT) dosyaları oluşturulur.
- PO dosyası: Poedit gibi bir araç, tamamlanan çevirileri ve çevrilebilir dizeleri içeren Taşınabilir Nesne (PO) dosyaları oluşturmak için bir POT dosyası kullanır.
- MO dosyası: Bir PO dosyasından bir Makine Nesnesi (MO) dosyası oluşturulur. Eklenti veya tema dizininizde bulunur ve web sitenizin çevrilmiş bir sürümü istendiğinde sunucunuz tarafından teslim edilir.
Bu öğelerin tümü, aşağıdaki adımlarda göreceğiniz gibi, WordPress ürünlerinin çeviriye hazırlanmasında rol oynar.
Çeviri için Gettext ve PHP
Aşağıda, bir temayı veya eklentiyi uluslararası hale getirmek için iş akışını açıkladık. Bu tür değişiklikleri denemeden önce, üzerinde çalışabileceğiniz bir alt tema oluşturmanız önerilir. Bu, sitenizi olası felaketlerden koruyacaktır.
1. Adım: Metin Dizelerini POT Dosyaları Olarak Çıkarın
Yapmak isteyeceğiniz ilk şey, temanızın veya eklentinizin halihazırda POT dosyaları içerip içermediğini kontrol etmektir. Değilse, bunları otomatik olarak oluşturmanız, Terminal ile manuel olarak oluşturmanız veya daha önce bahsettiğimiz Poedit adlı WordPress tarafından önerilen bir uygulamayı kullanmanız gerekir:
Pro sürümü, ihtiyacınız olan dosyaları oluşturmak için hızlı bir WordPress özelliği sunar. Ancak yine de ücretsiz uygulamayı kullanarak birkaç ekstra tıklamayla bir POT dosyası oluşturabilirsiniz.

Başlamak için, masaüstünüzde çalışacak olan Poedit'i indirip yüklemeniz gerekir. Bunu yaptıktan sonra, Dosya > Yeni'ye gidin. Çeviriniz için dili seçmeniz istenecektir:
Devam etmeden önce yeni projenizi kaydetmeniz gerekecek. Ardından, mevcut bir POT dosyasını güncelleme veya kaynaklardan çıkarma seçeneğiniz olacak:
Gerekirse, boş bir POT dosyasıyla başlayabilir, ardından metin dizilerinizi Poedit'te değiştirebilirsiniz. Alternatif olarak, kullanılacak mevcut eklenti ve tema dosyaları için Glotpress'te arama yapabilirsiniz. Ancak, bu örnek için, diğer seçeneği kullanmanız gerekeceğini varsayalım.
Kaynaklardan çıkar'a tıkladığınızda, yapılandırmak için üç ayar sekmeniz olur:
Metin dizelerinizin kaynakları için yolları ayarlamanız gerekecek. Belirli yolları da hariç tutabilirsiniz. Ardından, çeviri özelliklerinizi yapılandırmak isteyeceksiniz:
Burası, projenizi adlandıracağınız ve çoğullar ve diğer dile özgü öğeler için ayarları özelleştireceğiniz yerdir. Son olarak, POT dosyanızın kurulumunu tamamlamak için Kaynak Anahtar Kelimeler sekmesini kullanabilirsiniz:
Artı işaretine tıkladığınızda, çeviri kurulumunuzu tamamlamak için gettext anahtar sözcükleri ekleyebileceksiniz. Ayrıca kaynak dosyalarınızdaki metin dizilerini de görebileceksiniz ve arayabileceksiniz.
2. Adım: Bir Taşınabilir Nesne (PO) Dosyası Oluşturun
Ardından, eklemek istediğiniz her dil için POT dosyanızı bir PO dosyasına dönüştürmeniz gerekir. Temanızı veya eklentinizi çevirmiyorsanız ve gettext filtresini yalnızca İngilizce'den İngilizce'ye geçişler için kullanmayı planlıyorsanız, her iki dili de (kaynak ve çeviri) İngilizce olarak ayarlayın.
Poedit'te Katalog > POT Dosyasından Güncelle'ye giderseniz çevirmek istediğiniz dosyayı seçebilirsiniz:
Daha sonra dosya, çevrilebilir tüm dizelerin Poedit'e getirileceği bir ayıklama sürecinden geçecek. Bu, PO dosyasını oluşturur. Bu proje için diğer dosyalarınızla eşleşecek şekilde adlandırmak isteyeceksiniz.
Ardından, değişikliklerinizi yapmaya başlamak için metin dizeleri listesinin altındaki Yeni Çeviri Oluştur'a tıklayın:
Metni İngilizce'den İngilizce'ye değiştirmek için, değiştirmek istediğiniz dizeye tıklamanız ve değiştirilen kelimeyi yazmak için Kaynak metin altındaki Çeviri penceresini kullanmanız yeterlidir:
Temanız veya eklentiniz boyunca değiştirmek istediğiniz herhangi bir metin için bu işlemi tamamlayın. Ardından, gerekli üç dosyadan sonuncusunu oluşturacaksınız.
3. Adım: Makine Nesnesi (MO) Dosyalarına Dönüştürün
Şimdiye kadar çevirilerinizle ilgili programlama talimatları oluşturmak için adımlar atıyordunuz. Şimdi, sunucu tarafından okunabilmesi ve istenen metni ziyaretçilere iletebilmesi için her bir PO dosyasını dönüştürmeniz gerekecek.
Poedit iş akışında nasıl ilerlediğinize bağlı olarak, temanızın Diller klasöründe zaten bir MO dosyası oluşturulmuş olabilir. Değilse, File > Compile to MO seçeneğine gidin:
Artık, WordPress'teki gettext filtresi tarafından mümkün kılınan özellikleri yürütmek için ihtiyaç duyduğunuz bileşenlere sahip olmalısınız.
WordPress Gettext Filtresi Ne Zaman Yararlıdır?
Yukarıda anlattığımız süreç, sitenizi birçok dile çevirmenize yardımcı olsa da, gettext filtresinin amacı bu değildir. Diğer bir deyişle, İngilizce metni İspanyolcaya çevirmek için bu kancayı kullanmak istemezsiniz.
Bunun yerine, sitenize bir eklenti veya tema tarafından eklenen varsayılan metni değiştirmek için kullanabileceğiniz bir tasarım işlevidir, örneğin:
- Etiket özelleştirme
- Düğme metni değişiklikleri
- Başlık değişiklikleri
Bu işlem, web sitesi dosyalarınızda çevrilebilir olduğu düşünülen herhangi bir metni özelleştirmek için kullanılabilir. Başka bir örnek vermek gerekirse, temanızda "Şimdi Satın Al" yazan önceden ayarlanmış düğmeler varsa, ancak sitenizin "Abone Ol" yazması için bunlara ihtiyacı varsa, gettext bu değişikliği gerçeğe dönüştürebilen filtredir.
Gettext'i çok sık kullanmanın web sitenizin performansı üzerinde olumsuz bir etkisi olabileceğini unutmamak önemlidir. Bu, siteniz her yüklendiğinde çalışması gereken ek koddur, bu nedenle sayfa hızının düşmesini önlemek için idareli kullanın.
Mesajınızı WP Engine ile Yayma
Eklentileri kullanıp kullanmamaya veya web sitenizde manuel kod değişiklikleri oluşturmaya karar vermek zor olabilir. Bu nedenle en iyi geliştirici kaynaklarına sahip olmak çok önemlidir. WP Engine'in uzman ve profesyonel desteğiyle donanmış olarak, son derece özelleştirilmiş bir web sitesi oluşturmak için ihtiyacınız olan her şeye sahip olacaksınız.
Bir sonraki projeniz için yönetilen özel WordPress barındırma planlarımıza göz atın. Kolayca yenilik yapabilmeniz için sunucu bakımınızı üstlendik!