» » » » Browser diline göre dil seçimi !

Browser diline göre dil seçimi !

cyanide
cyanide 22-09-2014, 12:53
Sözü fazla uzatmadan konu hakkında sizleri bilgilendireyim.
amacımız tarayıcı yada lokasyon'a dayalı olarak site dilini değiştirmek
Benim kullandığım yapı sürekli olarak döngüye girdiği için hata vermekte sizden burada fikir yürütmenizi istemekteyim.

<?php 
 function xgo ($url, $time = 0){
  
  if ($time) header("Refresh: {$time}; url={$url}");
  else header("Location: {$url}");
 }

$xpath = "http://".$_SERVER['HTTP_HOST']."/103/index.php?action_skin_change=yes&skin_name=";
$dil = substr(getenv("HTTP_ACCEPT_LANGUAGE"), 0, 2);
if ($dil == 'tr') {
		switch ($dil) {
				case 'tr':
					xgo($xpath."trTema");
					break;
			    case 'en':
					xgo($xpath."enTema");
					break;
				default:
					xgo($xpath."frTema");
					break;
			}	
}
?>
Çözüldü İşleme Alındı Bekliyor Çözülemedi
Bilgilendirme
Yorum Ekleyebilmeniz için Sitemize Kayıt Olmanız Gerekmektedir.
0
cyanide 28 Eylül 2014 16:21
Kısaca mantığından bahsedecek olursak şöyle oluyor.
Yukarıdaki kodu main.tpl başına ekliyorsunuz.
Tpl içinde php kullanımını etkinleştirmeniz gerekeçekbu işlem hakkında forumda arama yapınız.

Sonra eklemiş olduğumuz kod taryıcının diline göre TR-EN-FR gibi ilgili temayı aktif ediyor.
İyi çalışmalar
0
mrt806 25 Eylül 2014 13:43
öncelikle otomatik seçilmesi güzel olmuş emeğinize sağlık.

bu kodu index.php ye gireceğiz heralde tam olarak girilen yer önemli mi yoksa başka bir yere mi girilecek.
0
cyanide 25 Eylül 2014 10:29
@MaRZoCHi, Bu kadar basit bir hatayı Nasıl gözden kaçırdım diye kendime kızıyorum şuan
Cevap için ayrıca teşekkürler
Problemin çözümü için kodu paylaşıyorum
<?php 
	 function xgo ($url, $time = 0){
	  
	  if ($time) header("Refresh: {$time}; url={$url}");
	  else header("Location: {$url}");
	 }

	$xpath = "http://".$_SERVER['HTTP_HOST']."/index.php?acti
on_skin_change=yes&skin_name="; $dil = substr(getenv("HTTP_ACCEPT_LANGUAGE"), 0, 2); $activeTheme = $config['skin']; if ($dil == 'tr' && $activeTheme != "trTema"){ xgo($xpath."trTema"); } elseif ($dil =='en' && $activeTheme !='enTema') { xgo($xpath."enTema"); } elseif ($dil =='fr' && $activeTheme !='frTema'){ xgo($xpath."frTema"); } elseif ($dil =='ar' && $activeTheme !='arTema') { xgo($xpath."arTema"); }; ?>
3 779
MaRZoCHi 22 Eylül 2014 15:41
Sürekli olarak döngüye girmemesi için seçili tema kontrolü yapmalısınız.
Bunun gibi bir yazım kullanmalısınız :
if ($dil == 'tr' && $tema != "trTema")

--------------------