Keşfedin, Öğrenin ve Paylaşın
Evrim Ağacı'nda Aradığın Her Şeye Ulaşabilirsin!
Yeni Soru Sor
Paylaşım Yap
Sorulara Dön
Elton Valiyev
Üye 11 Eylül 2020 1 Cevap
1

Seçilen lokalizasyona özel route, PHP ile nasıl yapılır?

İnternet sitelerinde belirli bir dil seçildiğinde url'ye /tr eklenir ve ziyaret edilen sayfalar /tr/about şeklinde gelir. Bunu PHP dilini kullanarak yapmanın yolu nedir?
375 görüntülenme
Seçilen lokalizasyona özel route, PHP ile nasıl yapılır?
Seçilen lokalizasyona özel route, PHP ile nasıl yapılır?
  • Şikayet Et
  • Mantık Hatası
0
  • Paylaş
  • Alıntıla
  • Alıntıları Göster
Tüm Reklamları Kapat
1 Cevap
Sena Küçükkıvanç
Bilgisayar Mühendisi 17 Kasım

Önce hangi dilleri destekleyeceğimizin bir listesini yapıyoruz. Mesela:

$available_locales = ['en', 'tr', 'fr'];

Bu listeyi "hangi dillerle oynuyoruz" diye PHP’ye göstermek için kullanacağız.

Şimdi sıradaki görevimiz, URL’nin başında "/tr" gibi bir dil kodu var mı diye bakmak. Eğer varsa, harika.

Tüm Reklamları Kapat

$uri = $_SERVER['REQUEST_URI'];
$segments = explode('/', trim($uri, '/'));
$locale = $segments[0];
if (in_array($locale, $available_locales)) {
array_shift($segments);
} else {
$locale = 'en';
}
$path = '/' . implode('/', $segments);

Şimdi, hangi dili seçtiysek ona göre uygulamanın dilini ayarlayalım. Türkçe mi? Fransızca mı? Ne istiyorsak:

setlocale(LC_ALL, $locale);
bindtextdomain('messages', "./locale");
textdomain('messages');

Buraya kadar geldik, artık kullanıcı nereye gitmek istiyorsa oraya yönlendirme yapabiliriz. Hangi yol nerede? Kimin yolu açık?

switch ($path) {
case '/about':
include 'pages/about.php';
break;
case '/contact':
include 'pages/contact.php';
break;
default:
include 'pages/404.php';
break;
}

Sayfa içinde bağlantı verirken dil kodunu eklemeyi unutma. Yoksa kullanıcı "ben nereye geldim?" der. Onu da şu şekilde yapıyoruz:

$current_locale = $locale;
echo 'About Us';

Eğer "Ben PHP yazmayayım, modern takılayım" diyorsan Laravel burada kurtarıcı rolünde. Laravel'de rotalara dil kodlarını eklemek çocuk oyuncağı. Bakarsın bir gün, "Ben Laravel kullanacağım" dersin, o zaman işin daha da kolaylaşır, bilgin olsun.

Kaynaklar

  1. Laravel Daily. Multi-Language Routes And Locales With Auth. Alındığı Tarih: 17 Kasım 2024. Alındığı Yer: Laravel Daily | Arşiv Bağlantısı
10
  • Şikayet Et
  • Mantık Hatası
1
  • Paylaş
  • Alıntıla
  • Alıntıları Göster
Daha Fazla Cevap Göster
Cevap Ver
Evrim Ağacı Soru & Cevap Platformu, Türkiye'deki bilimseverler tarafından kolektif ve öz denetime dayalı bir şekilde sürdürülen, özgür bir ortamdır. Evrim Ağacı tarafından yayınlanan makalelerin aksine, bu platforma girilen soru ve cevapların içeriği veya gerçek/doğru olup olmadıkları Evrim Ağacı yönetimi tarafından denetlenmemektedir. Evrim Ağacı, bu platformda yayınlanan cevapları herhangi bir şekilde desteklememekte veya doğruluğunu garanti etmemektedir. Doğru olmadığını düşündüğünüz cevapları, size sunulan denetim araçlarıyla işaretleyebilir, daha doğru olan cevapları kaynaklarıyla girebilir ve oylama araçlarıyla platformun daha güvenilir bir ortama evrimleşmesine katkı sağlayabilirsiniz.
Popüler Yazılar
30 gün
90 gün
1 yıl
Evrim Ağacı'na Destek Ol

Evrim Ağacı'nın %100 okur destekli bir bilim platformu olduğunu biliyor muydunuz? Evrim Ağacı'nın maddi destekçileri arasına katılarak Türkiye'de bilimin yayılmasına güç katın.

Evrim Ağacı'nı Takip Et!
Aklımdan Geçen
Komünite Seç
Aklımdan Geçen
Fark Ettim ki...
Bugün Öğrendim ki...
İşe Yarar İpucu
Bilim Haberleri
Hikaye Fikri
Video Konu Önerisi
Başlık
Kafana takılan neler var?
Gündem
Bağlantı
Ekle
Soru Sor
Stiller
Kurallar
Komünite Kuralları
Bu komünite, aklınızdan geçen düşünceleri Evrim Ağacı ailesiyle paylaşabilmeniz içindir. Yapacağınız paylaşımlar Evrim Ağacı'nın kurallarına tabidir. Ayrıca bu komünitenin ek kurallarına da uymanız gerekmektedir.
1
Bilim kimliğinizi önceleyin.
Evrim Ağacı bir bilim platformudur. Dolayısıyla aklınızdan geçen her şeyden ziyade, bilim veya yaşamla ilgili olabilecek düşüncelerinizle ilgileniyoruz.
2
Propaganda ve baskı amaçlı kullanmayın.
Herkesin aklından her şey geçebilir; fakat bu platformun amacı, insanların belli ideolojiler için propaganda yapmaları veya başkaları üzerinde baskı kurma amacıyla geliştirilmemiştir. Paylaştığınız fikirlerin değer kattığından emin olun.
3
Gerilim yaratmayın.
Gerilim, tersleme, tahrik, taciz, alay, dedikodu, trollük, vurdumduymazlık, duyarsızlık, ırkçılık, bağnazlık, nefret söylemi, azınlıklara saldırı, fanatizm, holiganlık, sloganlar yasaktır.
4
Değer katın; hassas konulardan ve öznel yoruma açık alanlardan uzak durun.
Bu komünitenin amacı okurlara hayatla ilgili keyifli farkındalıklar yaşatabilmektir. Din, politika, spor, aktüel konular gibi anlık tepkilere neden olabilecek konulardaki tespitlerden kaçının. Ayrıca aklınızdan geçenlerin Türkiye’deki bilim komünitesine değer katması beklenmektedir.
5
Cevap hakkı doğurmayın.
Aklınızdan geçenlerin bu platformda bulunmuyor olabilecek kişilere cevap hakkı doğurmadığından emin olun.

Bize Ulaşın

ve seni takip ediyor

Göster

Şifremi unuttum Üyelik Aktivasyonu

Göster

Şifrenizi mi unuttunuz? Lütfen e-posta adresinizi giriniz. E-posta adresinize şifrenizi sıfırlamak için bir bağlantı gönderilecektir.

Geri dön

Eğer aktivasyon kodunu almadıysanız lütfen e-posta adresinizi giriniz. Üyeliğinizi aktive etmek için e-posta adresinize bir bağlantı gönderilecektir.

Geri dön

Close