AS3 ve Google Translate
Bildiğiniz gibi Google ın harika bir çeviri sistemi var ve bu sisteme uzun süre önce Türkçeyi de dahil etti.Uzun cümleleri çevirirken biraz garipleşsede bence yinede başarılı bir sistem olarak yoluna devam ediyor ve ilerleyen zamanda çok daha yeni özellikler barındıracağını Google ın blogunda okumuştum.Aslında öylede oldu.Google uygulamalarının çoğunda translate sistemini kullanmaya başladı.Bkz: www.gmail.com
Google bu uygulamarın herkes tarafından kullanılmasını istyor.Tabiki ActionScript geliştiricilerininde.Bu konuda bi çok api var.Ancak ben bu örnekte çok daha pratik bi yöntem kullanmayı tercih ettim.
Bu basit çalışmada yapacağımız şey şu: Uygulamamıza giren kullanıcıların Flash Player dilini öğrenip Google Transltate yardımıyla sahnede bulunan TextField ların içeriğini bu dile çevireceğiz.
Aslında çok ama çok basit ve yararlı olacağına inandığım bi yapı gibi geliyor bana.
Uygulamanın kodları şu şekilde:
stage.align="topLeft"
var tf:TextField;
var i:int = -1;
nextText ();
/**
* Bu fonksiyon sahnede bulunan objleri seçerek
* çevrilmesi için
*/
function nextText ():void
{
i++;
if (i < this.numChildren)
{
var item:DisplayObject = this.getChildAt(i);
if (item is TextField)
{
tf = TextField(item);
translate (tf);
}else
{
nextText()
}
}
}
function translate (tf:TextField):void
{
//Bu adres api adresi bizim ona gönderdiğimiz pramatrelere uygun olarak bize
//çeviriyi dönderecek
var request:URLRequest = new URLRequest("http://ajax.googleapis.com/ajax/services/language/translate");
request.method = URLRequestMethod.GET;
//Burda çeviri yapılacak dili belirledik
//Biz FlashPlayer ın dilini istedik.
var to:String = Capabilities.language;
var variables:URLVariables = new URLVariables();
variables.v = "1.0"; //Api versiyonu
variables.q = tf.text; //Çeviri yapılacak cümle veya kelime
variables.langpair = "tr|" + to; //Çeviri sorgusu
request.data = variables;
if (to != "tr") //Eğer dil Türkçeyse zaten çevirmeye gerek yok
{
var loader:URLLoader = new URLLoader(request);
loader.addEventListener (Event.COMPLETE, onComplete);
}
}
function onComplete (event:Event):void
{
var obj:String = (event.target.data);
//Çeviri texte yazılıyor.Api bize JSon dönderiyor ancak ben bu uygulamada kolay olsun ufak bi
//parsingle hızlı çeviri yapmayı amaçlamıştım
tf.text = (obj.split("\"")[5]);
nextText()
}
Uygulamanın Çalışan Hali:
Eğer bilgisayarınızın dili Türkçe ise bi çeviri göremeyeceksiniz.
O halde bu swf ye bakın:
You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.
Aslanım benim gene döktürüyon bea
Nerelerdesin Süleyman
Gerçekten güzel bir yaklaşım tebrikler.
Hoho! Çok güzelmiş eline sağlık
Flash siteye dil seçin zamazingosu da ekleyebiliriz artık
Flash site içeriğini, arama motorlarının okuyabilmesinden sonraki en güzel haberdi bu
Kardeş ben buralardayım sen nerelerdesin olum hiç görünmüyosun ???
Facebook’a felan gir ara sıra yada mail felan bişey at ya heberleşek…