İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

PHP ile Google Translate API Bağlantısı

atay

0
İyinet Üyesi
Katılım
29 Ekim 2005
Mesajlar
3,592
Reaction score
37
Google bu bağlantı için bir sınıf yazmışmış, yeni fark ettim. Gayette pratik bir kullanımı var.

PHP:
<?php
require("GTranslate.php");
 try{
       $gt = new Gtranslate;
       echo "Translating [Hello World] from English to German => ".$gt->english_to_german("hello world")."<br/>";
        echo "Translating [Ciao mondo] Italian to English => ".$gt->it_to_en("Ciao mondo")."<br/>";
 } catch (GTranslateException $ge)
 {
       echo $ge->getMessage();
 }
?>

http://gtranslate-api-php.googlecode.com/files/gtranslate-api-php.0.7.1.zip
 

atay

0
İyinet Üyesi
Katılım
29 Ekim 2005
Mesajlar
3,592
Reaction score
37
Ortalama 1500 karakterden uzun metin gönderildiğinde sorun çıkabiliyor (veriler GET yolu ile gönderiliyor) ufak bir ara fonksiyon yazdım, metinleri parça parça yollatıyorum.

Kod şu şekilde:

PHP:
$language = array('ar','bg','zh-CN','hr','cs','da','nl','en','fi','fr','de','el',' hi','it','ja','ko','no','pl','pt','ro','ru','es',' sv','tr');
function cevirbunu($ceviri, $d1, $d2)
{
$ceviri= urlencode($ceviri);
$json = file_get_contents("http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=".$ceviri."&langpair=".$d1."%7C" .$d2);
$stdClass=json_decode($json);
return $stdClass->responseData->translatedText;
}

$metin=""; // Çevirilecek metin
$toplamsatir=strlen($metin);
$kackere=ceil($toplamsatir/1500);
$satiral=$toplamsatir;
for ($i=0;$i<$kackere;$i++) {
$basla=$i*1500;
if ($toplamsatir > 1500) {
$satiral=1500;
$toplamsatir=$toplamsatir-1500;
}
else { 
$satiral=$toplamsatir; 
}
$metin=substr($metin,$basla,$satiral);
$metin2.=cevirbunu($metin, 'en', 'tr'); 
}
echo 'Yeni Metin: '.$metin2;
 

Hobichat

0
İyinet Üyesi
Katılım
26 Ekim 2006
Mesajlar
336
Reaction score
1
Vayy harikasin hocam böle bir api den haberdar ettiğin için tşk ederim. Kodda yazmışsın yemede yanında yat :)
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Üst