• 20-07-2010, 15:07:15
    #1
    Sorunun tam yeri burası mı ondan da emin değilim ama kısaca bir örnekle sorunu anlatayım, çözümü bilen mutlaka vardır.

    Tuba's kelimesini Tuba'nın olarak çevrilmesi gerekirken Tuba'in şeklinde çevriliyor. Çünkü ben Tuba ismini değişken olarak atadım, bu kısım Ahmet, Mehmet olarak değişiyor. Hemen yanına "in" takısı yazdım. Mehmet kelimesinde sorun yok ama kelime Tuba olunca, Tuba'in şeklinde tuhaf birşey çıkıyor. Facebook'ta bu sorunun giderildiğini, birşekilde scriptlerinde büyük küçük sesli uyumlarına uyduklarını gördüm. Bunu php ile nasıl yapmış olabilirler acaba?
  • 20-07-2010, 15:16:44
    #2
    Son 2 harfe göre yapılabilir diye düşünürken bi kaç örnekte onunda olmadığını keşfettim..

    Sanırım biraz fazla koşul koymak gerekicek bi çok hece için

    Sevda nın
    Ali nin
    Mehmet in
    Kemal in
    Nihal in
    Uğur un
    Burak ın

    bunun gibi sanırım bi 5-10 tane daha çıkar bu kadar şart koyarak son 2-3 harften yapılabilir
  • 20-07-2010, 15:51:02
    #3
    Eposta Aktivasyonu Gerekmekte
    Son harf ünlüyse nin
    Ünsüzse in

    tabi "ın/in/un/ün/nın/nin/nun/nün" ayrımı istiyorsanız biraz daha uğraşıcaksınız.Ünlü uyumlarına bakmanız gerek.
  • 20-07-2010, 16:05:00
    #4
    Uzun tercümeleri hiç sevmem ama son hece hesabı yapmadan da tercüme edilebilir.


    Orijinal ifade

    Alıntı
    Tuba's posts
    Sizin tercüme

    Alıntı
    Tuba'nın iletileri
    Benim tercüme

    Alıntı
    Tuba kullanıcısının iletileri
  • 20-07-2010, 16:11:57
    #5
    Yok hocam onu düşündüm ama çok uzun oluyor, işimi görmüyor maalesef
    Dualwarior php de çok uzman olduğum söylenemez, bir kelimenin sonunun ünlü ya da ünsüzle bittiğini nasıl (hangi fonksiyonla) kontrol edebiliriz, bir örnek verebilir misiniz?
  • 20-07-2010, 17:59:33
    #6
    Eposta Aktivasyonu Gerekmekte
    Carlisle adlı üyeden alıntı: mesajı görüntüle
    Yok hocam onu düşündüm ama çok uzun oluyor, işimi görmüyor maalesef
    Dualwarior php de çok uzman olduğum söylenemez, bir kelimenin sonunun ünlü ya da ünsüzle bittiğini nasıl (hangi fonksiyonla) kontrol edebiliriz, bir örnek verebilir misiniz?
    İşi basite indirgeyelim

    aeıioöuü harflerini 1 e
    geri kalan sessiz harfleri de 0 a çevirelim

    kelime: selam olursa, çevirince 01010 oluyor. 0 sa sessiz 1 se sesli.
  • 21-07-2010, 17:06:56
    #7
    Misafir
    <?php
    function unlu($isim) {
    $sesliler = array(
    "a" => "a' nın",
    "e" => "e' nin",
    "ı" => "ı' nın",
    "i" => "i' nin",
    "o" => "o' nun",
    "ö" => "ö' nün",
    "u" => "u' nun",
    "ü" => "o' nün"
    
    );
    $geciyomu = "aeıioöuü";
    $karakter= strlen($isim);
    $karakter2= $karakter-1;
    $karakterm=substr($isim,$karakter2,$karakter);
    if(strstr($geciyomu,$karakterm)) {
    $sonuc = strtr($karakterm,$sesliler);
    $isim=substr($isim,0,$karakter-1);
    $isim = "".$isim."$sonuc";
    }
    else {
    $isim="".$isim."' ın";
    }
    return $isim;
    }
    
    
    $isim = "Beyaz";
    echo unlu($isim); // Beyaz ın
    $isim = "Tuba";
    echo unlu($isim); // Tuba' nın
    ?>
  • 21-07-2010, 21:16:45
    #8
    Teşekkür ederim hocam, çok makbule geçti