11 Kasım 2013 Pazartesi

OJS Türkçe Dil Hatası (Fatal Error)

OJS kurulumundan sonra Türkçe dil seçeneğinin yüklenmesi sırasında Fatal Error hataları alıyorsanız, sorun sistemin Türkçe'deki büyük "I" harfini küçük "ı" harfine dönüştürmesinden kaynaklanır. 



Resimde görülen yükleme sırasında PHP sürümü, Türkçe'deki küçük "ı" karakterini tanımıyorsa aşağıdaki hataları verir.

Fatal error: Call to undefined method ADORecordSet_mysql::Init() in .../lib/pkp/lib/adodb/adodb.inc.php on line 904

Fatal error: Call to undefined method Session::getUserId() in .../lib/pkp/classes/session/SessionDAO.inc.php on line 96

Çözüm için yapılması gereken:
  • Sunucuya admin olarak girin.
  • OJS 2.3.0 ve daha güncel sürümleri için “lib/pkp/classes/i18n/" yolunu takip edin.
  • PKPLocale.inc.php” dosyasın bulun.
  • Dosyanın bir yedeğini alın.
  • Orijinal klasördeki dosyayı metin editörü (notepad veya notepad++) ile açın.
  • Aşağıdaki kodlamayı bulun (100 satır civarında)
       if (!@setlocale(LC_ALL, $sysLocale, $locale)) {
              // For PHP < 4.3.0
              if(setlocale(LC_ALL, $sysLocale) != $sysLocale) {
                      setlocale(LC_ALL, $locale);
              }
      } 
  • Bu satırları silin veya aşağıdaki örnekte olduğu gibi kullanıma kapatın.
  • Dosyayı kaydedin.
  • Her ihtimale karşı tarayıcınızın önbelleğini (cache) temizleyiniz.
Kapatma Örneği:
     /**
     *if (!@setlocale(LC_ALL, $sysLocale, $locale)) {
     *        // For PHP < 4.3.0
     *        if(setlocale(LC_ALL, $sysLocale) != $sysLocale) {
     *                setlocale(LC_ALL, $locale);
     *        }
     *}
     */
 

Hiç yorum yok:

Yorum Gönderme