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.