HAZİRAN25

Google Language AJAX Api'si ile online sözlük yapımı

Javascript kategorisinde | [ 1038 ] kez okunmuş | [6] Yorum » | Yorum Yaz »

Bu konu ekleneli 3 ay'dan uzun bir süre geçmiş. Konu geçerliliğini kaybetmiş ve/veya içerdiği linkler yayında olmayabilir.

Bir projede online sözlük yapmam talep edildi. Ben sözlük için veritabanı ve paneli hazırlayacaktım, müşterim de yönetim panelinden kelimeleri sisteme kayıt edecekti. Yoğun bir süreç içerisinde olmam ve biraz üşenmem dolayısıyla kısa bir çözüm arayışı içerisine girdim.

Asıl amacım google'da hazır bir sözlük veritabanı bulmaktı, bulmam gereken veritabanı italyanca - türkçe ve ispanyolca - türkçe sözlük olacaktı. Kısa bir araştırma sonrası sadece ingilizce-türkçe sözlük için bir veritabanı buldum. Malesef işime yaramıyor olması dolayısıyla kullanmadım.

Web servisler araştırmaya başladım ve pek işime yarayacak bir servis bulamadım.

Sonunda google'ın ajax apilerine bir göz atmaya karar verdim translate bölümü ile ilgili bi api yayınlamış mı onu kontrol edeyim derken AJAX Language Api'sini gördüm ve acayip sevindirik oldum :D

Google Ajax Language API sayesinde birçok dilde kelime yada uzun cümleler olarak çeviri yapmak mümkün. Uzun lafın kısası aşağıdaki kodlar kullanılarak kısa sürede birçok dili destekleyen online bir sözlük sahibi olabiliyorsunuz.

Hemen kodlara geçelim.

Aşağıdaki javascript kodunu <head>...</head> tagları arasına yerleştirmeniz gerekiyor.

<script src="http://www.google.com/jsapi?key=ABQIAAAA1XbMiDxx_BTCY2_FkPh06RRaGTYH6UMl8mADNa0YKuWNNa8VNxQEerTAUcfkyrr6OwBovxn7TDAH5Q"></script>

<script language="javascript">
// language api kodları başlar -- bu koldar google tarafından verilen api kodları

google.load("language", "1");
function initialize() {
var content = document.getElementById('content');
content.innerHTML = '<div id="translation"/>';
var text = document.getElementById("q").value;
google.language.translate(text, document.getElementById("sozluk1").value, document.getElementById("sozluk2").value, function(result) {
var translated = document.getElementById("translation");
if (result.translation) {
document.getElementById("translation").style.border='1px solid';
document.getElementById("translation").style.padding='5px';
translated.innerHTML = result.translation;}});
}google.setOnLoadCallback(initialize);

// api kodları biter

// dil değiştirme kodları başlar -- bu kodları ben ekledim :)

function changelang(){
var dil1 = document.getElementById("sozluk1").value;
var dil2 = document.getElementById("sozluk2").value;
document.getElementById("sozluk1").value = dil2 ;
document.getElementById("sozluk2").value = dil1 ;
}

// dil değiştirme kodları biter

</script>

 

Aşağıdaki kodlar sözlüğün işlevselliğini sağlayan formu oluşturuyor.

<table width="550" border="0" align="center" cellpadding="1" cellspacing="1">
<tr>
<td colspan="2" class="SolMenu">Google Language AJAX Api Test</td>
</tr>
<tr>
<td width="21%">Sözlük :</td>
<td width="79%"><select name="sozluk1" id="sozluk1">
<option value="tr" selected="selected">Türkçe</option>
<option value="it">İtalyanca</option>
<option value="es">İspanyolca</option>
<option value="en">İngilizce</option>
</select>
-&gt;
<select name="sozluk2" id="sozluk2">
<option value="tr">Türkçe</option>
<option value="it">İtalyanca</option>
<option value="es">İspanyolca</option>
<option value="en" selected="selected">İngilizce</option>
</select>
<a href="javascript:changelang();">Dillerin Yerini Değiştir</a></td>
</tr>
<tr>
<td valign="top">Cümle/Kelime : </td>
<td><textarea name="q" rows="10" id="q" style="width:98%"></textarea></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input type="button" name="button" id="button" value="Çevir" onclick="javascript:initialize();document.getElementById('translation').innerHTML = 'Çeviri yapılıyor...';" /></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><div id="content">Çevizi yapılıyor...</div></td>
</tr>
</table>


Dikkat etmeniz gereken bölüm butona verilen onClick eventinde kullanılan fonksiyon.

javascript:initialize();

Ayrıca, çeviri sonucunun görüntüleneceği div

<div id="content">Loading...</div>

  • Kodların çalışan halini incelemek için tıklayın.
  • Kodların çalışır halini bilgisayarınıza indirmek için tıklayın.

 Daha bitmedi :D

Google'ın apileri bununla bitmiyor. Diğer apilerini incelemek için buraya tıklayabilirsiniz.

Ayrıca google, Api Denemelerimiz için bir deneme sayfası hazırlamış. Orada istediğiniz apileri değiştirerek sonuçlarını test edebilir, kendinizi deneyebilirsiniz.

Google Api Playground'a gitmek için tıklayın.

Umarım işinizi görür

Güncelleme :

Aşağıda language api ile birlikte kullanabileceğiniz diller ve kodlarının listesini bulabilirsiniz.

 'AFRIKAANS' : 'af',
 
'ALBANIAN' : 'sq',
 
'AMHARIC' : 'am',
 
'ARABIC' : 'ar',
 
'ARMENIAN' : 'hy',
 
'AZERBAIJANI' : 'az',
 
'BASQUE' : 'eu',
 
'BELARUSIAN' : 'be',
 
'BENGALI' : 'bn',
 
'BIHARI' : 'bh',
 
'BULGARIAN' : 'bg',
 
'BURMESE' : 'my',
 
'CATALAN' : 'ca',
 
'CHEROKEE' : 'chr',
 
'CHINESE' : 'zh',
 
'CHINESE_SIMPLIFIED' : 'zh-CN',
 
'CHINESE_TRADITIONAL' : 'zh-TW',
 
'CROATIAN' : 'hr',
 
'CZECH' : 'cs',
 
'DANISH' : 'da',
 
'DHIVEHI' : 'dv',
 
'DUTCH': 'nl',  
 
'ENGLISH' : 'en',
 
'ESPERANTO' : 'eo',
 
'ESTONIAN' : 'et',
 
'FILIPINO' : 'tl',
 
'FINNISH' : 'fi',
 
'FRENCH' : 'fr',
 
'GALICIAN' : 'gl',
 
'GEORGIAN' : 'ka',
 
'GERMAN' : 'de',
 
'GREEK' : 'el',
 
'GUARANI' : 'gn',
 
'GUJARATI' : 'gu',
 
'HEBREW' : 'iw',
 
'HINDI' : 'hi',
 
'HUNGARIAN' : 'hu',
 
'ICELANDIC' : 'is',
 
'INDONESIAN' : 'id',
 
'INUKTITUT' : 'iu',
 
'ITALIAN' : 'it',
 
'JAPANESE' : 'ja',
 
'KANNADA' : 'kn',
 
'KAZAKH' : 'kk',
 
'KHMER' : 'km',
 
'KOREAN' : 'ko',
 
'KURDISH': 'ku',
 
'KYRGYZ': 'ky',
 
'LAOTHIAN': 'lo',
 
'LATVIAN' : 'lv',
 
'LITHUANIAN' : 'lt',
 
'MACEDONIAN' : 'mk',
 
'MALAY' : 'ms',
 
'MALAYALAM' : 'ml',
 
'MALTESE' : 'mt',
 
'MARATHI' : 'mr',
 
'MONGOLIAN' : 'mn',
 
'NEPALI' : 'ne',
 
'NORWEGIAN' : 'no',
 
'ORIYA' : 'or',
 
'PASHTO' : 'ps',
 
'PERSIAN' : 'fa',
 
'POLISH' : 'pl',
 
'PORTUGUESE' : 'pt-PT',
 
'PUNJABI' : 'pa',
 
'ROMANIAN' : 'ro',
 
'RUSSIAN' : 'ru',
 
'SANSKRIT' : 'sa',
 
'SERBIAN' : 'sr',
 
'SINDHI' : 'sd',
 
'SINHALESE' : 'si',
 
'SLOVAK' : 'sk',
 
'SLOVENIAN' : 'sl',
 
'SPANISH' : 'es',
 
'SWAHILI' : 'sw',
 
'SWEDISH' : 'sv',
 
'TAJIK' : 'tg',
 
'TAMIL' : 'ta',
 
'TAGALOG' : 'tl',
 
'TELUGU' : 'te',
 
'THAI' : 'th',
 
'TIBETAN' : 'bo',
 
'TURKISH' : 'tr',
 
'UKRAINIAN' : 'uk',
 
'URDU' : 'ur',
 
'UZBEK' : 'uz',
 
'UIGHUR' : 'ug',
 
'VIETNAMESE' : 'vi',

Yorumlar

hakan | 11/17/2009 8:35:17 PM
ismail bey bunu e-cevir deki gibi otomatik yazdığında hende çeviren bir sistem yapma imkanı varmı acaba
hakan | 7/14/2009 10:10:04 PM
arkadasım bu kodu wordpress te yeni konu ekle şeklinde html kısmından ekliyorum kod çalışmıyor. Çevirme yapmıyor. yada single.php ekleyincede sayfa beyaz oluyor. yeni konu şeklinde bu kodu nasıl çalıştırırım bir fikrin varmı teşekkürler
Merhaba, Malesef wordpress ile şimdiye kadar hiç ilişkim olmadı desem yalan olmaz. Hiç ilgimi çekemedi bir türlü. Nasıl bir panel yapısı var, yada nasıl bir sistem üzerinden çalışıyor bilmiyorum. En kısa zamanda inceleyip wordpress ile nasıl çalıştığını bulabilirsem yeni bir konu açar yayınlarım.
7/15/2009 12:57:18 AM tarihinde yazılmıştır.
sinner | 7/10/2009 11:18:33 PM
Scriptin php si hazırlanmış şekilde Gittigidiyorda, istanbulsiyah adlı kullanıcı tarafından uygun fiyata satılıyor şuan, linki: http://urun.gittigidiyor.com/Satilik-Metin-Ceviri-Sitesi-Scripti-PHP_W0QQidZZ18754228
isteyenler bakabilir.
:) bilsem bende orda satardım. scriptin php yada asp ile ilgisi yok ki. API html sayfada da çok rahat kullanılabiliyor. Arkadaşın eline sağlık. Bu sayfayı görürse kızacaktır bana.
7/10/2009 11:36:03 PM tarihinde yazılmıştır.
Mehmet | 7/2/2009 5:41:17 AM
Merhaba Ismail

Kardes bu gece yatmadim ugrasdim senin API kod ile sonuc elde var sifir gibi bir sey oldu :-)

Ilk basda bu isin PHPsi filan yokmus onu ögrendim :-)

Ama anlamadigim bir sey var cözemedim gitti, senin kodlarda belirttiginden baska bir dil ekledim sozluk calismiyor neden acaba...?

Ekstradan ben Danimarkaca ekledim ama olmadi... :( Bu konuda bana yardimci olursan sevinirim.

benim kod örnegi:

<td width="21%">Dictionary :</td>
<td width="79%"><select name="sozluk1" id="sozluk1">
<option value="tr" selected="selected">Turkish</option>
<option value="dk">Danimarkaca</option>
<option value="it">Italyanca</option>
<option value="es">Ispanyolca</option>
<option value="en">Ingilizce</option>
</select>
->
<select name="sozluk2" id="sozluk2">
<option value="dk">Danimarkaca</option>
<option value="tr">Turkish</option>
<option value="it">Italyanca</option>
<option value="es">Ispanyolca</option>
<option value="en" selected="selected">Ingilizce</option>

</select>

Kodu test ettigim url adresi: www.kimlik.dk
Merhaba, Danimarka dili için (Danish) dil kodu olarak "da" kullanırsan sorun çözülecektir.
7/2/2009 1:41:10 PM tarihinde yazılmıştır.
Mehmet | 7/2/2009 4:04:36 AM
Ismail süppersin :-)

Bende böyle bi API ariyordum, ama benim aradim PHP`cinsindendi, bu kodun birde PHP versionunu yazma imkanin varmi?

Saygi ve sevgiler
Ahmet | 6/27/2009 2:07:29 PM
Güzel paylaşım teşekkürler.

Konu hakkında düşüncelerinizi paylaşın

İsim / Nick

E-posta (Görüntülenmeyecektir)

web sitesi

Güvenlik Kodu Yandaki rakamları aşağıdaki kutuya yazınız