feat: implement multilingual support for sitemap and SEO, update structured data, and improve locale middleware configuration
This commit is contained in:
@@ -16,10 +16,25 @@ class SetLocale
|
||||
*/
|
||||
public function handle(Request $request, Closure $next): Response
|
||||
{
|
||||
// Session'dan locale'i al, yoksa varsayılan dil kodunu kullan
|
||||
$locale = session('locale');
|
||||
// Aktif dilleri veritabanından kontrol et
|
||||
if (function_exists('available_language_codes')) {
|
||||
$availableLocales = available_language_codes();
|
||||
} else {
|
||||
$availableLocales = ['tr', 'en', 'de', 'ar', 'se', 'ru'];
|
||||
}
|
||||
|
||||
// Query parametresinden al, yoksa session'dan al
|
||||
$queryLocale = $request->query('locale') ?? $request->query('lang');
|
||||
$locale = null;
|
||||
|
||||
if ($queryLocale && in_array($queryLocale, $availableLocales)) {
|
||||
$locale = $queryLocale;
|
||||
session(['locale' => $locale]);
|
||||
} else {
|
||||
$locale = session('locale');
|
||||
}
|
||||
|
||||
// Eğer session'da locale yoksa, varsayılan dil kodunu kullan
|
||||
// Eğer locale hala atanmadıysa varsayılan dil kodunu kullan
|
||||
if (!$locale) {
|
||||
if (function_exists('default_language_code')) {
|
||||
$locale = default_language_code();
|
||||
@@ -28,14 +43,7 @@ class SetLocale
|
||||
}
|
||||
}
|
||||
|
||||
// Aktif dilleri veritabanından kontrol et
|
||||
if (function_exists('available_language_codes')) {
|
||||
$availableLocales = available_language_codes();
|
||||
} else {
|
||||
$availableLocales = ['tr', 'en'];
|
||||
}
|
||||
|
||||
// Locale'i aktif diller arasında kontrol et
|
||||
// Locale'i aktif diller arasında kontrol et ve ata
|
||||
if (in_array($locale, $availableLocales)) {
|
||||
App::setLocale($locale);
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user