WordPress eklentime nasıl çoklu dil desteği eklerim?

WordPress’te eklenti geliştirirken çoklu dil desteği ile geliştirmenin yapılmasının eklentinin daha fazla kişiye ulaşabilmesi sağlayacağını düşündüğümden yaptığım eklentilerde WordPress’in i18 fonksiyonlarını kullanmaya özen gösteriyorum. Basit bir şekilde eklenti çoklu dil destekli nasıl eklenti geliştirilir adım adım anlatmaya çalışacağım.

1. Geliştirme:

Kodlama Yapılırken i18n fonksiyonları kullanılarak çıktı gönderilmesi gerekiyor. echo ile yazdıracağınız her şeyi __() fonksiyonun kullanarak yazdırmanız gerekiyor. Fonksiyon 2 parametre alıyor birince metin ikinci domain_text projenizin tamamında domain_text değişkeninin aynı olmasına dikkat edin.

[code language=”php”]
__(‘Deneme Yazisi’,’domain_text’)[/code]

2.Ekletin Yüklendiğinde Dil Dosyalarını Yükleme

Eklenti klasörünün altına i18n diye bir dizin açıp 3. adımda anlatacağım .mo dil dosyalarını attım ve plugins_load actionda dil dosyalarını eklentiye yükledim.

[code language=”php”]
function i_textdomain() {
load_plugin_textdomain(‘domain_text’, FALSE, plugin_basename(dirname(__FILE__)) . ‘/i18n/’);
}
add_action(‘plugins_loaded’,’i_textdomain’);
[/code]

3. Eklentiden Dil Katalog Dosyası Oluşturma

Eklentimizi bitirdikten sonra içinde kullandığımız dil dosyalarından bir dil katalog dosyası (.pot) oluşturup. Bu dosyadan faydalanıp çeviri dosyalarını oluşturup i18n klasörüne atmamız gerekiyor.

Konsolda php ve gitin kurulunu olduğu varsayarsak aşagıdaki iki kod satırıyla pot dosyasını aynı dizinde oluşturabilirsiniz. macOSX kullanıcısıysanız gettext i yüklemeniz gerekecektir. Makinenizde brew yüklüyse brew install gettext  komutuyla gettexti kurabilirsiniz.

[code]

git clone https://github.com/wp-mirrors/wp-i18n-tools

php makepot.php wp-plugin ../../iyzico_plugins/wp-content/plugins/ornek_eklenti

[/code]

Örnek .pot dosyası içeriği aşağıdaki gibi olacaktır.

[code]

#: class-frontendtab.php:41
msgid "Taksitler"
msgstr ""

[/code]

4. Dil Dosyalarının Oluşturulması

.pot dosyasini da oluşturduktan sonra iş dil .po ve .mo dosyalarına oluşturmaya kalıyor. Bunun için birden fazla uygulama mevcut ben alışık olduğumdan PoEdit uygulamasını kullanıyorum tavsiye ederim kullanımı kolay, basit bir uygulama. Çeviri önerilerinde bulunuyor, pro versiyonunda bu anlattığım 3 aşamayı kendi yapabiliyor vs vs.

PoEdit ile .pot dosyası açılıp Yeni Dil Dosyası oluştur deyip istediğiniz kadar farklı dil için .po dosyası oluşturup eklenti içindeki i18n klasörüne atmanız ve oluşturduğunuz .po dosyasını derlemeniz gerekiyor. Bundan sonra WordPress’in aktif dil seçeneğine göre eklentinizin desteklendiği dillerde görüntüleme yapacaktır.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir