05 Nisan 2008

twitter Eklentisini Türkçeleştirmek

twitter çılgınlığı her yeri sarmışken kendimi bu çılgınlıktan uzun süre koruyabilmek bir başarı olsa gerek. Öyleki şimdiye kadar hakkında yazılan yazıların çoğunu es geçip sitesine bile uğramamıştım. Kim bilir belki bu tür şeylerle ilgilenip dikkatimi dağıtmak istemiyordum.

Evet geçmiş zamanda konuşuyorum çünkü bu sms servisine ben de bulaştım. 19 litrelik bir şey neden oldu buna :-) Bugün hesabımı açıp twitter'ı hemen denedim. Yalnız ilk denemem ile birlikte kullanılan eklentinin İngilizce olmasından dolayı yazdığımız ufak notların tarihlerinin İngilizce çalıştığını gördüm. Evet o kadar ilgisizdim ki şimdiye kadar nasıl çalıştığını da bilmiyordum :-)

Bunun üzerine ne yapabileceğime bir bakmak için eklentinin kodlarına baktım, eğer siz de dikkat ederseniz eklenti bir JavaScript ile çalışıyor. twitter panonuzdan aldığı veriyi işleyip gösteren bu JavaScript oldukça da basit. Zaten JavaScript ile ilgilenen biriyseniz bu yazı da yeni bir şey öğrenmeyeceksiniz; benim hedef aldığım kitle esas itiabarı ile bu tür işlere merak sarmamış kişiler.

Hadi artık başlayalım...


Burada Blogger için eklenti aldığınızı varsayarak yolumuza devam etsek de korkulacak bir şey yok; zira diğer servisler de aynı JavaScript'i kullanıyor.

Eklenti koduna baktığınızda blogger.js dosyası http://twitter.com/javascripts/blogger.js kaynağından çağrılıyor. Siz bu dosyayı bilgisayarınıza indirin ve düzenlemek için açın.

Dosyayı açtığınızda iki fonksiyon göreceksiniz, bunlardan ilki twitter panonuzda bulunan mesajları çekip altına tarih bağlantısını işliyor; diğer fonksiyon ise bu tarih bilgisinin nasıl çalışacağını gösteriyor.

İlk fonksiyon: function twitterCallback2(obj)


statusHTML += ('<li><span>'+twitters[i].text+'</span><br/> <a style="font-size:85%"href="http://twitter.com/'+username+'/statuses/'+twitters[i].id+'">'+relative_time(twitters[i].created_at)+'</a></li>')

Yukarıda kodlarını gördüğünüz ilk fonksiyonda twitters[i].text değişkeni ile mesajlarınız çekilip ardından tarih bilgisi işleniyor. Kodu aldığınızda <br/> etiketi bulunmuyor, bunu ben ekledim. Çünkü mesajların hemen peşine konulan tarih bilgisi çirkin duruyor, bu etiket ile bir satır aşağıda gösterilmesini sağladık.

İkinci fonksiyon: function relative_time(time_value)


if (delta < 60) {
return 'bir dakikadan da önce dalgalanmış';
} else if(delta < 120) {
return 'yaklaşık bir dakika önce dalgalanmış';

Yukarıda ikinci fonksiyonun bir kısmını görüyorsunuz. Zaten mantığını anlatmak için bu 2 döngü yeterli.

İlk döngüde delta olarak adlandırılmış saniye değişkeni 60sn den küçük ise "less than a minute ago (bir dakikadan daha önce)" metni işleniyor.

İkinci döngü geçerli ise yani ilk döngü bittiyse, "about a minute ago (yaklaşık bir dakika önce)" metni işleniyor.

Diğer döngülere de bakarak uygun metni istediğiniz gibi yazabilirsiniz. Son olarak dosyanızı kaydederken farklı kaydet komutu ile kaydedip kodlama karakter setini UTF-8 olarak seçin. Böylece Türkçe karakterlerde sorun yaşamazsınız.

Unutmadan...


Dosyanızı bir sunucuya (GooglePages gibi) yükledikten sonra eklenti kodundaki satırdan blogger.js dosyasının yeni kaynağını girmelisiniz.
Bu yazıya 10 adet yorum yapılmış. Düşüncelerini belirtmek istiyorsan durma yorumunu paylaş!
  1. Dün bu olayı sormuştum sana, ben de diyorum niye cevap vermedi :) Reader da görmek sürpriz oldu açıkçası. Teşekkürler.

    YanıtlaSil
  2. Akl-ı SelimNisan 11, 2008

    Merhaba. Dün ben de bulaştım bu işe. Lakin benim düzenlememde "ş" "ö" "ü" gibi Türkçe karakterlerde sorun vardı. Bunu çözmek için şuradaki ascii karakter tablosunu kullandım. Siz de böyle bir sorunla karşılaştınız mı? Ki yazdıklarınızdan böyle bir sorunla karşılaşmadığınızı düşünüyorum. Bir sakıncası yok ise düzenlediğiniz twitter.js dosyasının tam adresini yayınlarsanız sevinirim.

    YanıtlaSil
  3. @akl-ı Selim ,

    Yazımın sonunda Türkçe karakterlerde sorun yaşamamanız için dosyayı kaydederken UTF-8 karakter kodlaması ile kaydedin demiştim. Böylece sorun yaşamazsınız ;-) İsterseniz yazının o kısmını bir daha bakın.

    YanıtlaSil
  4. Ah bu dikkatsizliğim. Teşekkür ederim hatırlattığınız için. Tekrar baştan okuyayım yazınızı. İyi çalışmalar dilerim.

    YanıtlaSil
  5. Rica ederim, size de iyi çalışmalar.

    YanıtlaSil
  6. Merhaba,

    47 yaşındayım ve okuya okuya kendime bilog yaptım şimdide en çok okunanlar bölümü ekledim.Ama türkçe değil ve sizin yazınızı okuyarak türkçeleştiremiyorum.Neden derseniz siz birazcık bilgisi olanlara hitap ediyorsunuz.
    ÖRNEĞİN ŞÖYLE DİYORSUNUZ:Hadi artık başlayalım...

    Burada Blogger için eklenti aldığınızı varsayarak yolumuza devam etsek de korkulacak bir şey yok; zira diğer servisler de aynı JavaScript'i kullanıyor.

    Eklenti koduna baktığınızda blogger.js dosyası http://twitter.com/javascripts/blogger.js kaynağından çağrılıyor. Siz bu dosyayı bilgisayarınıza indirin ve düzenlemek için açın.
    Ben bu adrese tıkladığımda indir filan yazmıyor.Öf Öf yapmak istiyorum ama yapamıyorum.Sizi yorarmı bilmem ama bana MSN den filan bir anlatsanız."İşiniz zor bir de benimgibi bilmeyenlerle uğraşacaksınız"
    Kolay gelsin

    koselih@hotmail.com

    YanıtlaSil
  7. @HADİYE,

    Merhaba efendim, öncelikle emin olun elimden geldiğince basit anlatmaya çalışıyorum. Ama ne yazıkki herkes gibi ben de belli bir seviyenin altına inemiyorum. Zira bu sefer de diğer insanlara bayacak bir yazı olacaktır.

    Size kendi hazırladığım dosyayı e-posta olarak atacağım. E-posta da gerekli diğer adımları da anlatacağım.

    YanıtlaSil
  8. Merhaba,

    Yok yok sakın korkmayın.Bu sefer sitem etmeyeceğim.Sizin anlattıklarınızı ben yapamadım ama o sıkıntıylada size sitem dolu yazı yazmışım .Şimdi okuyunca ben bile kendime güldüm.Yinede bana cevap vermedeki nezaketiniz hoşuma gitti.Sağolun varolun.

    YanıtlaSil
  9. Herşeye cevap verir, herşeyi anlatır, sıkılmaz, yönlendirir, baktınız beceremiyorsunuz sizin için yapar da Erhan.. Şahsen karşılaştım, biliyorum.

    Türkiyedeki bloglar arasında ben ve benim gibi yazılım mevzusunda bilgisi olmayanlara süper destek veriyor Erhan. Emeğin büyük kardeş. Sağolasın;)

    YanıtlaSil
  10. Burak utandırdın vallahi beni. Senin gibi vefalı arkadaşlar olduğu sürece yardım etmekten vazgeçmem.

    Görüşmek üzere...

    YanıtlaSil

Küfür ve hakaret içeren yorumları sevmiyor, Türkçe'nin doğru kullanıldığı yorumları ise çok seviyoruz.

HTML: <b>, <i>, <a> gibi temel HTML etiketlerini kullanabilirsiniz.
Uyarı: URL adresi belirtirken lütfen başına http:// protokolünü koymayı unutmayın!