Laravel

Laravel ile Çoklu Dil Uygulaması

🚀 Başlamadan önce, çoklu dil desteği sağlamanın birçok yolunun olduğunu hatırlatmak isterim. Ancak bu makalede, Laravel uygulamaları için basit ve etkili bir çözüm olan yerelleştirme (Localization) özelliğinden yararlanacağız.

1. Dil Dosyalarını Oluşturun 🔨

Laravel, dil dosyalarını resources/lang klasöründe saklar. Her dil için bir klasör oluşturmanız gerekmektedir. Örneğin, Türkçe için resources/lang/tr, İngilizce için resources/lang/en klasörleri oluşturabilirsiniz. Her dil klasörünün içerisine, çevirilerinizi tutacak olan .php dosyaları eklemeniz gerekmektedir.

2. Dil Dosyalarını Ayarlayın ⚙️

Dil dosyalarını oluşturduktan sonra, anahtar-değer çiftleri şeklinde çevirilerinizi bu dosyaların içine ekleyin. Örneğin, messages.php dosyası içerisinde şöyle bir yapı olabilir:

// resources/lang/en/messages.php
return [
    'welcome' => 'Welcome to our website!',
];

// resources/lang/tr/messages.php
return [
    'welcome' => 'Web sitemize hoş geldiniz!',
];

3. Dil Ayarlarını Yapın 🌐

Kullanıcının dil seçimini tanımlamak için, genellikle config/app.php dosyasındaki 'locale' => 'en' değerini değiştirmeniz gerekir. Kullanıcının dil seçimine göre bu değeri dinamik hale getirebiliriz.

4. Dil Değiştirme Fonksiyonu Oluşturun 🔄

Kullanıcının dilini değiştirmesine izin vermek için, bir rota ve denetleyici (controller) oluşturmanız gerekmektedir. Örneğin, setLocale adında bir metot oluşturabilirsiniz:

public function setLocale($lang)
{
    if (array_key_exists($lang, config('app.locales'))) {
        session(['applocale' => $lang]);
    }
    return redirect()->back();
}

Bu kod parçası, uygulamanın dilleri arasında geçiş yapmayı sağlar.

5. Middleware Oluşturun 🚦

Dil seçimini otomatik hale getirmek için bir middleware oluşturmanız gerekmektedir. Bu middleware, her istekte çalışır ve oturumda belirtilen dile göre uygulamanın dilini ayarlar.

public function handle($request, Closure $next)
{
    app()->setLocale(session('applocale', config('app.locale')));
    return $next($request);
}

Son olarak, bu middleware’yi kernel.php dosyasında tanımlamanız ve global middleware olarak eklemeniz gerekmektedir.

6. Çevirileri Kullanma

🗣️
Şimdi, dil dosyalarınızı ve dil seçim fonksiyonlarınızı kullanabilirsiniz. trans veya __ fonksiyonlarını kullanarak çevirilerinizi kullanabilirsiniz. Örneğin, hoş geldiniz mesajınızı şu şekilde gösterebilirsiniz:

echo __('messages.welcome');

🎉 Tebrikler! Laravel uygulamanızda çoklu dil desteği başarıyla sağlandı. Bu basit çözüm, çeşitli dillerde kullanıcılarınıza daha iyi hizmet vermenizi sağlar. Ancak, daha karmaşık uygulamalar için, çeviri paketleri veya veritabanı tabanlı çözümler düşünülebilir. Her zaman projenizin ihtiyaçlarına ve özelliklerine göre en uygun çözümü seçin. 🚀

İlgili Makaleler

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu
Bu internet sitesinde size en iyi deneyimi sunmak için çerezleri kullanıyoruz. Bu siteyi kullanmaya devam ederek çerez kullanımımızı kabul etmiş olursunuz.
Kabul Et
Reddet
Privacy Policy