Premium WordPress temaları ve eklentileri geliştirirken, onları standart olarak yerelleştirilebilir yapmanız oldukça gereklidir. Bu sayede tema kullanıcısı, temalarını kolaylıkla çevirebilir ve böylece tema tüm dillerde kullanılabilir.
Bugünkü dersimizde,size bir WordPress temasına çeviri ve yerelleştirme desteğinin nasıl ekleneceğini ve .po ve .mo çeviri dosyalarının kolaylıkla nasıl oluşturulacağını göstermek istiyorum.
1: Textdomain Temasını Yükleme
Öncelikle functions.php dosyanızın içinde load_theme_textdomain() fonksiyonunu eklemeniz gerekir. Bu fonksiyon temanızın kök dizinlerinde locale.mo dosyanızı arayarak temanızın çevrilmiş metinlerini yükler.
Ayrıca .mo ve .po dosyalarının, temanızın dizininde ‘languages’ adlı ayrı bir klasörde tutulduğunu farkedeceksinizdir. Eğer bu klasör yoksa, onu oluşturmanız veya fonksiyondaki klasör yolunu değiştirmeniz gerekir.
if ( !function_exists( 'yourprefix_theme_setup' ) ) { function yourprefix_theme_setup(){ // Load The Textdomain load_theme_textdomain('themename', get_template_directory() . '/languages'); // Include Translations $locale = get_locale(); $locale_file = get_template_directory() . "/languages/$locale.php"; if ( is_readable( $locale_file ) ) { require_once( $locale_file ); } } } add_action('after_setup_theme', 'yourprefix_theme_setup');
2: Metninizi Çevirin
WordPress’te metinde hardcoding(kodu doğrudan programın içine yazma) kaçınılması gereken bir durumdur ve metni İngilizce’den istenen başka bir dile çevirmeyi imkansız kılacaktır. WordPress sitenize metin eklemek istediğinizde, her zaman metni çeviri için işaretleyen, kurulu dört WordPress fonksiyonundan birini kullanmalısınız.
__('Çevirilecek Metin','tema adı');
Standart çeviri fonksiyonu, basitçe çevrilmiş metninizi getirir.
_e('Çevirilecek Metin','tema adı');
Aynen yukarıdaki fonksiyon gibi, ancak çevrilmiş metninizi getirmek yerine yazdırır.
_n('Çevirilecek Metin','tema adı');
Metninizin çoğul kullandığı durumlarda kullanılır, bu genellikle blogunuz yorum bölümünde, yorum sayısını listelerken kullanılır.
_x('Çevirilecek Metin','tema adı');
Bu fonksiyon, bir fiil ile isimi ayırt etmeyi sağladığından, çevirmenler için oldukça kullanışlıdır. İngilizce’den çevirirken oldukça faydalı.
3: POEdit ile Dil Dosyalarınızı Oluşturun
Tema metniniz, yukarıdaki WordPress çeviri fonksiyonları ile düzgünce işaretlenir işaretlenmez, dil dosyalarınızı oluşturmaya hazırsınız demektir. Bu iş için POEdit adli bir uygulama kullanacağız. POEdit’i çalıştırdığımızda, tüm WordPress dosyalarını tarayacak ve çeviri için işaretlenmiş metinleri çekecektir.
Çeviri bilgisi toplanacak ve temanızın dizininde languages klasörünün altında yeni oluşturulmuş veya güncellenmiş bir .pot dosyasında tutulacaktır.
4: POEdit’i WordPress ile Kullanmak
POEdit’i açın ve ‘File -> New Catalog’ a tıklayın. ‘Translation Properties’ sekmesinin altına proje detaylarınızı girin.
‘Sources Paths’ sekmesine tıklayın ve base path detaylarını girin. Çevirimizi ‘languages’ klasörü altında tuttuğumuzdan, bizim base path ‘../’ şeklinde olacak.
‘Sources keywords’ sekmesine tıklayın, burada dört WordPress çeviri fonksiyonunu girmemiz gerekiyor. Bu sayede POEdit çeviri için gerekli metinleri çekebilecek.
default.po dosyasını languages klasörünün altına kaydedin.
5: Dosyalarınızı çevirmek
Dosyaları tarayıp, languages klasörünü çeviri metni ile güncellemek için POEdit’i kullandığım zaman, çeviri işlemini daha da kolay hale getirmek için kullanışlı bir WordPress eklentisi kullanıyorum.
Bu işlem için Codestyling Localization eklentisini kullanın, indirin ve temanızda aktive edin. Aktive edildikten sonra Tools -> Localization’ a gidip ‘Add New Language’ e tıklayın.
Dilinizi seçin ve eklenti temayı tarasın, tarama tamamlandıktan sonra, siz veya bir çevirmen her metin satırına bakarak, metnin uygun çevirilmiş karşılığını ekleyebilir.
Sonuç Olarak
WordPress temalarınızı ve eklentilerinizi çeviriye hazır hale getirmenin oldukça kolay olduğunu ve eğer tema oluşturucusu, temayı standart çeviri fonksiyonelliği ile oluşturduysa, temayı çevirmenin daha da kolay olduğunu göreceksiniz.
Önceleri, POEdit’e düzgünce tarattırıp, gerekli çeviri metinlerimi kaydettirmem bir kaç denememi aldı, ama alıştıktan sonra oldukça kolaydı.
Referanslar
http://codex.wordpress.org/Translating_WordPress
http://codex.wordpress.org/Function_Reference/load_theme_textdomain
http://www.poedit.net/download.php