Beni ekleyip Çok soranlar oldu.
Kodlarını paylaşıyorum.
Uygun yerlere gerekli işlemler yapılmalıdır.
Session başlayan yere.
PHP:
<?php
session_start();
// Varsayılan dil ayarı (Türkçe)
if (!isset($_SESSION['lang'])) {
$_SESSION['lang'] = 'tr';
}
// Dil seçimi kontrolü
if (isset($_GET['lang'])) {
$lang = $_GET['lang'];
if ($lang == 'tr' || $lang == 'en') {
$_SESSION['lang'] = $lang;
}
}
// Dil dosyasını dahil etme
if ($_SESSION['lang'] == 'tr') {
include 'tr_lang.php';
} else {
include 'en_lang.php';
}
?>
örnek bir tr_lang.php dosyası.
PHP:
<?php
$lang = array(
'mainpage' => 'Ana Sayfa',
'contact' => 'İletişim',
'about' => 'Hakkında',
);
?>
örnek bir en_lang.php dosyası.
PHP:
<?php
$lang = array(
'mainpage' => 'Ana Sayfa',
'contact' => 'İletişim',
'about' => 'Hakkında',
);
?>
Örnek bir HTML yapısı. a elementine tıklayınca _GET gönderir.
PHP:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title><?php echo $lang['mainpage']; ?></title>
</head>
<body>
<nav>
<ul>
<li><a href="index.php?lang=tr">TR</a></li>
<li><a href="index.php?lang=en">EN</a></li>
</ul>
</nav>
<h1><?php echo $lang['mainpage']; ?></h1>
<p><?php echo $lang['about']; ?></p>
<p><?php echo $lang['contact']; ?></p>
</body>
</html>
Açıklama:
PHP kodu, varsayılan dili $_SESSION['lang'] içine tr olarak atar.
$_GET['lang'] parametresi varsa ve geçerli bir dil kodu ise (tr veya en), $_SESSION['lang] güncellenir.
$_SESSION['lang'] değerine göre ilgili dil dosyasını dahil eder.
Dil dosyaları, $lang adında bir dizi (array) içerir ve bu dizi, HTML'de dil etiketleri ile kullanılır.
HTML kısmında iki <a> elemanı bulunur. Biri Türkçe, diğeri İngilizce için. Bu <a> elemanlarına tıklanıldığında, sayfa dil parametresi ile yeniden yüklenir ve $_SESSION['lang'] güncellenir.
Göz geçirdim çalışması sorunsuz.
ChatGpt'den herkesin yaptığı mantığı anlatıp kod alıp konu altına ekledim.
Hata vs takıldığınız yer olursa yazın.