문제는 언어에 대한 GET 변수를 항상 읽었으며 누락 된 경우 기본 변수 (프랑스어)로 다시 전환하여 세션 변수에 저장할 수 있다는 것입니다.
당신은 모든 링크에 ?lang=XX
을 추가하고 $ _SESSION을 제거하거나 세션 변수 사용하기 위해서는 다음과 같은 변경해야한다 중 하나
}else {
$_SESSION['lang'] = 'fr';
include('french.php');
$langage=$_SESSION['lang'];
}
에 :
}else {
if(isset($_SESSION['lang'])){
if($_SESSION['lang'] == 'fr'){
include('french.php');
}else{
include('english.php');
}
}else{
$_SESSION['lang'] = 'fr';
include('french.php');
$langage=$_SESSION['lang'];
}
}
을 그렇게하면 언어 변경이 요청되지 않으면 기본 언어로 전환하기 전에 스크립트에 저장된 언어 변수가 있는지 확인합니다.
2 개 이상의 언어를 사용하는 경우 이상적으로 IF 대신 대/소문자를 사용해야합니다.
}else {
switch($_SESSION['lang']){
case 'en':
include('english.php');
break;
case 'es':
include('spanish.php');
break;
//insert other language cases here
default:
include('french.php');
break;
}
}
제 조언은 세 번째 옵션입니다. 많은 사이트는 각 언어에 대해 별도의 디렉토리를 가지고 있으며 기본 언어는 www.domainname.ext/
이고 다른 언어는 www.domainname.ext/xx/
입니다. 여기서 xx는 언어의 약어입니다 (영어는 en 등)
선택한 언어를 저장하는 세션? –
내 영어로 죄송합니다 – tatane
즉? – tatane