v2.5.2
Giriş yap

Php'de dil değiştirdiğimde mevcut sayfada kalması

ender
975 defa görüntülendi ve 1 kişi tarafından değerlendirildi

Kullanıcının dil bağlantısını tıklayarak geçerli sayfayı değiştirmeden dil değiştirebilmesini istiyorum.

Aşağıdaki gibi bir kod buldum. Çalışıyor, ancak sayfa adları farklı olduğu için şöyle bir hata alıyorum:
Örneğin: "../en/about.php" sayfasındayken dili değiştirdiğimde, "../tr/about.php" sayfasına gidiyor. Gitmesi gereken sayfa "../tr/hakkimizda.php".

Bu sorunu nasıl çözebilirim?

PHP

<?php
$path = trim($_SERVER['REQUEST_URI'],'/');

$lang = explode('/',$path)[0];

$langs = [

'en'=>preg_replace("/$lang/",'../en',$path,1),
'tr'=>preg_replace("/$lang/",'../tr',$path,1),

];
?>

HTML

<ul>

<li>
   <a href="<?= $langs['tr']?>">Türkçe</a>
</li>

</ul>

pcmemo
1650 gün önce

Ben olsam dosya adını her dil için aynı tutardım. Örneğin about.php içerikk dili değişken olsun, tarayıcı diline göre dili otomatik göster. İsteyen değiştirsin. Değişen dili cookie ye yaz tarayıcıdan farklı bir dil seçmişse eğer.