Ana Sayfa   Weblog   Realtime   Galeri   Arşiv   İletişim-Referanslar

Sayfa Yükleniyor...
blank
  Merhaba , kişisel weblog alanıma hoşgeldiniz...  
    Wordpress Türkçe Problemi28 Eylül, Cuma 2007  

 
 

Dün başıma geldi, bugün kod denemelerim oldu, Hosting firmamla görüştüm, çözemedik. Bende sormayı bilene en iyi danışman a başvurdum.

Sorun :: Wordpress 'te Türkçe Dil Problemi

(Bir Anne) www.biranne.com sitesini Wordpress tabanlı hazırladım. PHP 5.2.1(Apache  2.x CentOS) ile Uzak sunucumda, PHP 5.2.2(Apache 2.x WindowsXPProSP2) ile Localde sorunsuz çalışıyordu. Dün Hosting firmam PHP 5.2.3 kararlı sürüme geçti. Sunucu durduruldu ve tekrar çalıştırıldı (Değiştirildi mi bilmiyorum). Artık Wordpress ingilizceydi. Admin, site, menüler, dil modunun geçerli olduğu her yer. Tabiki içerik Türkçe yazıldığı için Türkçe olarak kalmıştı, sorun yoktu.

Hosting firmasına bir e-posta attım. Onlarda bana atacaklarmış :) "Sürüm değiştirdik, sitelerinizde bir problem var mıdır?" Evet dediysemde, sorunu bulamadık, PHP.INI bile aynıydı çünkü.

Bugün Wordpress çekirdeğinde bir takım değişiklikler yaptım, işe yaramadı. En sonunda, geçmişte çok sevdiğim biriyle konuşurken aklıma gelen soruyla karşılaştım: "Neden aradığımız şey her zaman en son baktığımız yerdedir?"

Aramalarımda şu sonuçlara vardım :

Eğer işletim platformunuz 64-bit ise Wordpress ile dil sorununuz olacaktır.


Çözüm :: Wordpress Çekirdeğinde " gettext.php " dosyasını düzenlemek.

Wordpress içerisindeki " gettext.php " dosyanızda şu satırları bulun.

if ($magic == ($MAGIC1 & 0xFFFFFFFF) || $magic == ($MAGIC3 & 0xFFFFFFFF)) { // to make sure it works for 64-bit platforms
        $this->BYTEORDER = 0;
} elseif ($magic == ($MAGIC2 & 0xFFFFFFFF)) {
        $this->BYTEORDER = 1;
} else {
        $this->error = 1; // not MO file
        return false;
}

Ve aşağıdaki kod ile değiştirin :

// 64-bir Platforms BUG FIX from :
// http://comox.textdrive.com/pipermail/wp-trac/2007-June/012844.html

if (($magic & 0xFFFFFFFF) == ($MAGIC1 & 0xFFFFFFFF) || ($magic &
 0xFFFFFFFF) == ($MAGIC3 & 0xFFFFFFFF)) { // to make sure it works for 64-bit platforms
        $this->BYTEORDER = 0;
} elseif (($magic & 0xFFFFFFFF) == ($MAGIC2 & 0xFFFFFFFF)) {
        $this->BYTEORDER = 1;
} else {
        $this->error = 1; // not MO file
        return false;
}

Bu değişiklik Wordpress 'teki Türkçeleşme Problemini çözecektir.

Sonuç :: Wordpress 'teki gettext.php dosyası byte sıralamasını saptamakta hata yapmaktadır. 

Eğer siz, local sisteminizde ve/veya Uzak sunucunuzda 64-bit platform ve PHP 5.x (PHP5 kullanmalısınız) kullanıyorsanız Bu hack i kullanmak durumundasınız.

Ben Türkiye'deki forum, blog, site veya Wordpress dayanışma platformlarında böyle bir makale veya yazıya rastlamadım. Siz rastlarsanız paylaşmaktan çekinmeyin.
Umarım bu yazı benzer sorunu yaşayanlara faydalı olur.

Not: Dün çıkan Wordpress 2.3 "Dexter" sürümünde bu bug düzeltildi mi bilmiyorum.

 
     
  EkleBunu Sosyal Paylaşım Butonu
 
 



* Opsiyonel : Web Adresiniz
 
 
blank
#Sayfa Başı
Arama İpucu
blank
  Temel Kaynaklar
  •  Giriş
  •  Üyelik
  •  
  • Arşiv Arşiv
  • RSS 2.0 RSS
  • Smart RSS Smart RSS
  •  
  •   Add to Technorati Favorites
blank
  Kategoriler
blank
  Tavsiye Linkler