Laravel, uygulamalarınızda çoklu dil desteği sağlamak için kolay ve güçlü bir yapı sunar. Laravel’in lang klasörü içinde, farklı diller için çeviri dosyalarını barındırabilirsiniz. Çeviri dosyaları, anahtar-değer çiftlerine sahip dizi döndüren PHP dosyalarıdır. Laravel ‘de dil kullanımını ayarlamanın en kolay yollarını sırasıyla açıklıyoruz.

Dil Dosyalarını Klasör Yapısına Göre Oluşturma

resources/lang klasörü altında dil kısaltmalarını (ör. ‘en’, ‘tr’ gibi) içeren klasörler oluşturun. Her klasör içinde, özellikle messages.php gibi çeviri dosyaları oluşturarak anahtar-değer çiftlerini tanımlayın.

// resources/lang/en/auth.php
return [
    'login' => 'Giriş Yap',
];

// resources/lang/tr/messages.php
return [
    'login' => 'Login',
];

Laravel, uygulamanın aktif dilini belirlemek için config/app.php dosyasındaki locale ayarını kullanır. Bu değeri değiştirerek varsayılan dilinizi belirleyebilirsiniz. Kullanıcılar arasında dil değişikliği yapmak istiyorsanız, dil seçimini bir session, cookie veya kullanıcı modelinde saklayabilir ve middleware kullanarak bu değeri ayarlayabilirsiniz.

Dil Metinlerini Görüntüleme

PHP kodunda, __() yardımcı fonksiyonunu kullanarak çeviri metinlerini alabilirsiniz. Bu fonksiyon, belirtilen anahtarı kullanarak aktif dildeki değeri döndürür.

{{ __('auth.login') }}

Parametreli Çeviri Metinleri

Dil dosyalarındaki anahtar-değer çiftlerine parametre ekleyerek dinamik metinler oluşturabilirsiniz.

// resources/lang/en/profile.php
return [
    'welcome' => 'Welcome, :name!',
];

// resources/lang/tr/profile.php
return [
    'welcome' => 'Hoş geldin, :name!',
];

Ardından parametreyi __() fonksiyonuna ileterek çeviriyi kullanabilirsiniz:

{{ __('profile.welcome', ['name' => $user->name]) }}

Laravel ‘de lang kullanarak çoklu dil desteğini nasıl sağlayacağınıza yönelik bir kılavuzdur. Daha fazla özelleştirme ve detay için Brunos Digital iletişim sayfamızdan bize ulaşabilir veya Laravel ile proje başlatmak için yeni proje başlat sayfasından projenizi başlatabilirsiniz.

15 yıldan fazla Laravel geliştirme tecrübemizle sizlere hizmet vermekten mutluluk duyarız.