Türkçe sorunlar ve çözümleri

Register an Account
Reply
 
Thread Tools Display Modes
  #31 (permalink)  
Old 11-28-2008, 10:57 PM
Casual Pligger
Pligg Version: 9.9.5
Pligg Template: yget
 
Join Date: Aug 2007
Location: Turkey
Posts: 32
libs/db.php dosyasını açın
298. satırda
$db = new ezSQL_mysql(EZSQL_DB_USER, EZSQL_DB_PASSWORD, EZSQL_DB_NAME, EZSQL_DB_HOST);
dizisini bulun ve hemen altına

$db->query("SET NAMES 'UTF8'");
$db->query("SET CHARACTER SET 'UTF8'");
$db->query("SET COLLATION_CONNECTION='utf8_general_ci'");

satırlarını ekleyin.

ekteki dil dosyasını languages klasörüne yükleyin.

lang_english.zip

libs/util.php dosyasını açın, Sayfanın en altında bulunan "?>" dizisinden hemen önce alttaki satırları ekleyin.

function add_turkish($chars) {
$replace=array(
'%C3%A7' => 'ç',
'%C4%9F' => 'ÄŸ',
'%C4%B1' => 'ı',
'%C3%B6' => 'ö',
'%C5%9F' => 'ÅŸ',
'%C3%BC' => 'ü'
);

foreach ($replace as $key => $value) {
$chars = str_replace($key, $value, $chars );
}
return $chars;
}
function phpentities($text) {
$search = array("&", "\"", "\'", "'", "\\", "<", ">");
$replace = array("&amp;", "&quot;", "'", "'", "\", "&lt;", "&gt;");
$text = str_replace($search, $replace, $text);
return $text;
}

libs/html1.php dosyasını açın.
67.inci satırı bulun
if ($santype == 2) {return htmlentities(strip_tags($var),ENT_QUOTES,'UTF-8');} satını bulun (67. satır)

aşağıdaki satırla değiştirin.
if ($santype == 2) {return phpentities(strip_tags($var),ENT_QUOTES,'UTF-8');} satını bulun (67. satır)

satır 70'i bulun
return addslashes(htmlentities(strip_tags($var),ENT_QUOTE S,'UTF-8'));

aşağıdaki satırla değiştirin.
return addslashes(phpentities(strip_tags($var),ENT_QUOTES ,'UTF-8'));

73.ü bulun
return htmlentities(strip_tags($var),ENT_QUOTES,'UTF-8');

aşağıdaki satırla değiştirin
return phpentities(strip_tags($var),ENT_QUOTES,'UTF-8');

468'i bulun
If ($x == "tag") {return my_pligg_base."/search.php?search=" . $var1 . "&amp;tag=true";}

aşağıdaki satırlarla değiştirin.

If ($x == "tag") {
$var1 = add_turkish($var1);
return my_pligg_base."/search.php?search=" . $var1 . "&tag=true";
}

Bu değişiklikten sonra satır 472'yi bulun
If ($x == "tag2") {return my_pligg_base."/search.php?search=" . $var1 . "&amp;tag=true&amp;from=" . $var2;}

Aşağıdaki satırlarla değiştirin.
If ($x == "tag2") {
$var1 = add_turkish($var1);
return my_pligg_base."/search.php?search=" . $var1 . "&tag=true&amp;from=" . $var2;
}

Bu değişiklikten sonra satır 529'u bulun
If ($x == "tag") {return my_pligg_base."/tag/" . $var1;}

Aşağıdaki satırlarla değiştirin.
If ($x == "tag") {
$var1 = add_turkish($var1);
return my_pligg_base."/tag/" . $var1;}

Bu değişiklikten sonra satır 529'u bulun
If ($x == "tag2") {return my_pligg_base."/tag/" . $var1 . "/" . $var2 . "/";}

Aşağıdaki satırlarla değiştirin.
If ($x == "tag2") {
$var1 = add_turkish($var1);
return my_pligg_base."/tag/" . $var1 . "/" . $var2 . "/";}


utils/link.php dosyasını açın
565.inci satırı bulun
$tags_url_array[$i] = my_pligg_base . "/search.php?search=".urlencode(trim($tag_array[$i]))."&amp;tag=true";

aşağıdaki satırla değiştirin.
$tags_url_array[$i] = my_pligg_base . "/search.php?search=".add_turkish(urlencode(trim($ta g_array[$i])))."&amp;tag=true";

567. satırı bulun
$tags_url_array[$i] = my_pligg_base . "/tag/" . urlencode(trim($tag_array[$i]));

aşağıdaki satırla değiştirin
$tags_url_array[$i] = my_pligg_base . "/tag/" . add_turkish(urlencode(trim($tag_array[$i])));




Aşağıdaki modulü kurun

makeFriendly.zip

Modülü kurmak için zipli dosyayı açın. makeFriendly isimli bir klasör elde edeceksiniz. Bu klasörü modules/ klasörüne atın.
Yönetim panelinden eklentilere girin.

makeFriendly v 0.1 - install

satırını bulun. install seçeneğini tıklayın modul kurulacaktır.

makeFriendly modülü zaten kuruluysa

makefriendly_main.php dosyasını açın ve tüm içeriğini aşağıdaki içerikle değiştirin.

<?php
function utils_makeUrlFriendly($output){

// PHP: utf8_decode - Manual
$output = html_entity_decode(phpentities($output, ENT_COMPAT, 'UTF-8'));
$replace=array(
'Ç' => 'C',
'Ç' => 'C',
'ç' => 'c',
'ç' => 'c',
'Ğ' => 'G',
'Äž' => 'G',
'ğ' => 'g',
'ÄŸ' => 'g',
'İ' => 'I',
'İ' => 'I',
'ı' => 'i',
'ı' => 'i',
'Ö' => 'O',
'Ö' => 'O',
'ö' => 'o',
'ö' => 'o',
'Ş' => 'S',
'Åž' => 'S',
'ş' => 's',
'ÅŸ' => 's',
'Ü' => 'U',
'Ü' => 'U',
'ü' => 'u',
'ü' => 'u',
'Á' => 'A',
'Å' => 'A',
'ä' => 'a',
'á' => 'a2',
'à' => 'a3',
'â' => 'a4',
'ã' => 'a5',
'ä' => 'a',
'å' => 'a',
'æ' => 'ae',
'æ' => 'ae',
'é' => 'e',
'È' => 'E',
'É' => 'E',
'Ì' => 'I',
'ì' => 'i',
'Í' => 'I',
'í' => 'i',
'¼' => '',
'¾' => '',
'¿' => '',
'ñ' => 'n',
'Ñ' => 'N',
'Ò' => 'O',
'ò' => 'o',
'Õ' => 'O',
'Ó' => 'O',
'ô' => 'o',
'ó' => 'o',
'õ' => 'o',
'Š' => 's',
'š' => 's',
'Û' => 'U',
'Ú' => 'U',
'û' => 'u',
'ú' => 'u',
'Ž' => 'Z',
'ž' => 'z',
'--', '-',
'&Ccedil;', 'c',
'&ccedil;', 'c',
'&ouml;' => 'o',
'&uuml;' => 'u',
'&Ccedil;' => 'c',
'&Ouml;' => 'O',
'&Uuml;' => 'u',
'€' => ''
);

foreach ($replace as $key => $value) {
$output = str_replace($key, $value, $output);
}

return $output;
}

?>

ana dizinde rss.php dosyasını açın.
139. satırı bulun.

echo "<title><![CDATA[". onlyreadables(remove_error_creating_chars($title)) . "]]></title>\n";

aşağıdaki satırla değiştirin

echo "<title><![CDATA[". onlyreadables($title) . "]]></title>\n";

191. satırdan başlayan aşağıdaki satırları

function onlyreadables($string) {
for ($i=0;$i<strlen($string);$i++) {
$chr = $string{$i};
$ord = ord($chr);
if ($ord<32 or $ord>126) {
$chr = "~";
$string{$i} = $chr;
}
}
return str_replace("~", "", $string);
}

şu satırlarla değiştirin

function onlyreadables($string) {
$replace=array(
'ÅŸ' => 'ş',
'ı' => 'ı',
'ç' => 'ç',
'ÄŸ' => 'ğ',
'ö' => 'ö',
'ü' => 'ü',
'Åž' => 'Ş',
'İ' => 'İ',
'Ç' => 'Ç',
'Äž' => 'Ğ',
'Ö' => 'Ö',
'Ü' => 'Ü'
);

foreach ($replace as $key => $value) {
$string = str_replace($key, $value, $string );
}

for ($i=0;$i<strlen($string);$i++) {
$chr = $string{$i};
$ord = ord($chr);
if ($ord<32 or $ord>126) {
if ($chr == "ş" or $chr == "ı" or $chr == "ç" or $chr == "ğ" or $chr == "ö" or $chr == "ü" or $chr == "Ş" or $chr == "İ" or $chr == "Ö" or $chr == "Ç" or $chr == "Ü" or $chr == "Ğ"){
$string{$i} = $chr;
}else{
$chr = "~";
$string{$i} = $chr;
}
}
}
$string = str_replace("~", "", $string);
$replace=array(
'ş' => 'ÅŸ',
'ı' => 'ı',
'ç' => 'ç',
'ğ' => 'ÄŸ',
'ö' => 'ö',
'ü' => 'ü',
'Ş' => 'Åž',
'İ' => 'İ',
'Ç' => 'Ç',
'Ğ' => 'Äž',
'Ö' => 'Ö',
'Ü' => 'Ü'
);
foreach ($replace as $key => $value) {
$string = str_replace($key, $value, $string );
}
return $string;
}

Eğer dilerseniz değişiklik yapmanız gereken tüm dosyalar alttaki mesajda ilgili klasörlere kopyalamanız yeterli olacaktır.
Reply With Quote
  #32 (permalink)  
Old 11-29-2008, 12:04 AM
Casual Pligger
Pligg Version: 9.9.5
Pligg Template: yget
 
Join Date: Aug 2007
Location: Turkey
Posts: 32
Scriptin kurulu olduğu Kök dizine
rss.zip

/libs klasörüne
db.zip
html1.zip
link.zip
utils.zip

Sayfa'daki türkçe görüntü hataları, linklerde türkçe karakterlerin bozuk görünmesi, tagların aranması sırasında türkçe karakterlerin çıkardığı sorunlar, Kategorilerde türkçe görüntü hataları ve aramalarda türkçeden doğan hatalar ve RSS başlık hataları giderilmiştir.

htmlentities isimli php komutunu kullanan satırlar bu komutun Türkçe karakterleri desteklememesi nedeniyle çıkarılmış yerine bir fonksiyon yazılarak bu komutun sağladığı güvenlik kontrolü yapılmıştır. UTF-8 lovercase fonksiyonu ı ve İ harflerinde sorun çıkardığı için bazı alanlarda harflerin küçük harfe çevrilmesi iptal edilmiştir. (vakitsizlikten bu iş için bir fonksiyon yazamadım)
Az sonra yeni kurulum yapacaklar için Pligg Türkçe kurulum setini yükleyeceğim.
Reply With Quote
  #33 (permalink)  
Old 11-29-2008, 12:29 AM
Casual Pligger
Pligg Version: 9.9.5
Pligg Template: yget
 
Join Date: Aug 2007
Location: Turkey
Posts: 32
Pligg kurulduktan sonra içerik girmeden önce makeFriendly modülü aktif hale getirilmelidir. Bu modül Türkçeye uyumlu hale getirilmiştir ve linklerde Türkçe karakter sorununu gidermektedir.

pligg_turkce.zip
Reply With Quote
  #34 (permalink)  
Old 11-29-2008, 11:31 AM
Casual Pligger
 
Join Date: Oct 2008
Posts: 40
sedat dostum iyi ki varsin dedigini yaptim matematik sorunca sorun kalmadi. diger sekilde captcha resimleri gorunmuyordu. sorunu arastirmistim hostingde bi ayardan bahsediyordu ancak o ayar bende tamam oldugu halde calismiyordu. sayende bu sorun da cozuldu cok tesekkur ederim. simdi gecen surede olusan spam uyeleri (bosuna mysql'imi sisiriyorlar) nasil silecegimi arastiriyorum bulamazsam buradan yine yardim isteyecegim. yeni bir is almana cok sevindim hayirli olsun sen sıkıntı etme firsatin olursa denersin seo'yu.
Reply With Quote
  #35 (permalink)  
Old 11-29-2008, 02:17 PM
Casual Pligger
Pligg Version: 9.9.5
Pligg Template: yget
 
Join Date: Aug 2007
Location: Turkey
Posts: 32
Dostum Pligg üye yönetim bölümü son derece yetersiz. Özellikle üyelerin silinememesi çok kötü. Bunun için bir modül yazmak veya mevcut üye yönetim bölümüne ekleme yapmak gerekecek. Mesela üye listesi ekranında her üye için bir checkbox konabilir ve sil dendiğinde işaretli tüm üyeler ve gönderdikleri içerikler silinebilir. Aslında sadece üyeleri değil içerikleri silmekte dert. Daha derli toplu üye yönetimi ve daha iyi bir içerik yönetim alanı olabilirdi. Ama zaman içinde bu tür eksiklerin giderileceğinden de eminim. Eğer fırsat bulabilirsem en azından üye silme işini görecek bir modül yazmayı düşünüyorum zaten.
Bunun için şimdilik kullanabileceğin en pratik çözüm phpmyadmin.
Reply With Quote
  #36 (permalink)  
Old 11-29-2008, 02:44 PM
Casual Pligger
 
Join Date: Oct 2008
Posts: 40
Quote:
Originally Posted by sedat40 View Post
Dostum Pligg üye yönetim bölümü son derece yetersiz. Özellikle üyelerin silinememesi çok kötü. Bunun için bir modül yazmak veya mevcut üye yönetim bölümüne ekleme yapmak gerekecek. Mesela üye listesi ekranında her üye için bir checkbox konabilir ve sil dendiğinde işaretli tüm üyeler ve gönderdikleri içerikler silinebilir. Aslında sadece üyeleri değil içerikleri silmekte dert. Daha derli toplu üye yönetimi ve daha iyi bir içerik yönetim alanı olabilirdi. Ama zaman içinde bu tür eksiklerin giderileceğinden de eminim. Eğer fırsat bulabilirsem en azından üye silme işini görecek bir modül yazmayı düşünüyorum zaten.
Bunun için şimdilik kullanabileceğin en pratik çözüm phpmyadmin.
saol dostum dedigin gibi yaptim phpmyadmin den pliguser'e girdim ve spam oldugunu dusundugum bircok uyeyi sildim. aslinda daha vardi ama fazla da abartmak istemedim en azindan kullanici ismi duzgun gibi gorunenleri biraktim. ama bircok rakamla uretilmis hotmail adresli olanlarin hepsini sildim. firsatin oldugunda dedigin tarz bir modul hazirlayacak olursan haberini beklerim. hersey icin tekrar tesekkurler...
Reply With Quote
  #37 (permalink)  
Old 12-05-2008, 06:55 PM
Casual Pligger
 
Join Date: Oct 2008
Posts: 40
sedat dostum senden yine bir yardim ricam var. Quarkbase : Everything about a Website bu sitede kendi pligg sitemi sorguladigimda summary ve introduction/in short kisimlarinin aciklamalarinda "Pligg Content Management System" yaziyor. pligg kullanan baska siteleri ayni yerde sorguladigimda onlarin description ve taglarinin kisisel aciklamalarina gore geldigini goruyorum. ben de templates/meta.tpl kismini kendime gore aciklamalarimla guncelledim ancak tekrar quarkbase.com'da sitemi sorguladigimda durum yine ayni degismedi. acaba baska bir yeri daha mi guncellemem gerekiyor yoksa sorun soz konusu sitenin cashleri ile mi alakali? cunku pligg.tpl'deki description ve meta taglerim de tamamen kisisel.
Reply With Quote
  #38 (permalink)  
Old 12-07-2008, 05:33 AM
Casual Pligger
Pligg Version: 9.9.5
Pligg Template: yget
 
Join Date: Aug 2007
Location: Turkey
Posts: 32
Dostum, sanırım Quarkbase ilk kayıt sırasında aldığı bilgileri uzun süre kullanıyor. Yani bilgiler anlık bilgiler değil. Sitede bilgi güncellemesi için kullanılabilecek herhangi bir alanda bulamadım. Bu konuda ne yapılabilir bilmiyorum doğrusu. Belki bilgileri belli aralıklarla güncelliyor olabilir. Bu sıralar çok vakit bulamadığım için foruma giremedim. Cevap bu yüzden biraz gecikti özür dilerim. Zaten işe yarar bir cevapta olmadı
Reply With Quote
  #39 (permalink)  
Old 12-07-2008, 08:45 AM
Casual Pligger
 
Join Date: Oct 2008
Posts: 40
yok dostum cok saolasin, ben onu bir arastiririm nasil guncelleme istegi gonderebiliriz bulursam ben de buradan paylasacagim. seni de ikide bir mesgul ediyorum asil ben ozur dilerim dostum, cok tesekkur ederim.
Reply With Quote
  #40 (permalink)  
Old 12-07-2008, 12:28 PM
New Pligger
 
Join Date: May 2008
Posts: 11
Mayıs 2008 ayında başladığım sosyal imleme macerama (macera diyorum çünkü sosyal imleme kavramı henüz oturmadı ülkemizde) www.siteimle.com ile devam ediyorum.

Bazı sitelerde gördüğüm all bir pligg kur siten olsun şeklindeki açıklamaların ne kadar boş olduğu zamanla çok iyi öğrendim. Çünkü al kurla olmuyor. Çok uğraşmak gerekli.

Sedat bey bir sorunum daha doğrusu halledemediğim bir konu var. Şuradaki adreste olig greybox kurulumu var. Ben bunu siteimde video yayınlamak için ekledim ve kullanıyorum. Yalnız videonun linkine tıklayınca greybox ekranında değilde yeni pencerede açıyor. Konu hakkında bir fikriniz varsa ve yardımcı molursanız sevinirim. a forumda bu başlığın açılması çok iyi olmuş.

Kolay gelsin. Görüşmek üzere

Ayrıc

Ayrıc
Reply With Quote
Reply

Thread Tools
Display Modes




Pligg Modules and Pligg Templates from Pligg Pro Find support on the Pligg CMS Forum - 24 hours a day! Make a donation to support Pligg CMS development