Herkese merhaba, projelerimizde çoklu dil yapısını kullanırken farklı ihtiyaçlarla karşılaşabiliyoruz. Yazmış olduğumuz sistemde yeni dil eklememiz gerekiyordu. İhtiyacımız olan şey, mevcut içeriklerimizin, yeni ekleyeceğimiz dile otomatik olarak çevrilmesiydi. 

 

Yani bir ürünümüz var ismi ‘Elma’ ve kullandığımız dil Türkçe, biz ise kullandığımız sisteme İngilizce dilini dahil etmek istiyoruz. ‘Elma’ isimli ürünümüz, sisteme dil eklendikten sonra otomatik olarak ‘Apple’ olarak türetilmeli. Bu ihtiyacımız için kullanacağımız paketin linklerini aşağıya bırakacağım. Laravel ve PHP projelerinizde kullanabilirsiniz. 

 

Öncelikle paketimizi projemize dahil edelim.

composer require stichoza/google-translate-php 

 

Laravel'de paketlerimiz varsayılan olarak autoload olacağı için entegre etmeyi es geçiyorum. 

 

Paketimiz yüklendikten sonra işlemi yapmak istediğimiz controller içerisinde use ile paketimizi çağırıyoruz. bir GoogleTranslation objesi oluşturalım.

 

Örnek: 

// HomeController.php

use Stichoza\GoogleTranslate\GoogleTranslate;


public function index()
{
    // Benim örneğimde kaynak yani mevcut dilim tr olduğu için, objeyi başlatırken parametre olarak       belirtebiliyorum. Bu ifadem ile kaynak dilimin Türkçe olduğunu belirtmiş oldum.     
   
        $translation = new GoogleTranslate('tr');
    // Burada, çevirmek istediğim dilin kısayolunu yazıyorum.
        $translation->setTarget('en');    
    
        return $translation->translate('Elma');
}
Karşımıza gelen çıktı bu şekilde olacaktır.

Proje içerisinde örnek bir kullanım.


// HomeController.php

use Stichoza\GoogleTranslate\GoogleTranslate;


public function index()
{
    $translation = new GoogleTranslate('tr');
    $translation->setTarget('en');

    $product = Product::find(1);
    $product->name = $translation->translate($product->name);
    $product->update()
}

    Yukarıda vermiş olduğum örnekte, idsi 1 olan ürünümün adını Türkçe dilinden İngilizce diline güncelledim. Görmüş olduğunuz gibi paketin kullanımı çok basit.  
 

Uyarı: Art arda çok fazla istek attığınızda Google, çok fazla istek atıyorsun diye hata mesajı verebilir. Paketin daha detaylı anlatımı için aşağıdaki linklere göz atabilirsiniz.

 

Github link : https://github.com/Stichoza/google-translate-php

Packagist link : https://packagist.org/packages/stichoza/google-translate-php