2026, 새로운 도약을 시작합니다.

다국어 사이트 제작중 질문 채택완료

제품 기본 설명을 언어별로 다르게 출력하고 싶은데 
db에서 it_en 필드를 it_jp 추가해서 영어 설명을 넣어 보았습니다.  
 

it_basic -->  한국어 기본설명  

it_jp --> 일본어 기본설명 
it_en --> 영어 기본설명 

상품관리페이지에서 각언어별로 저장은 되구요.  이제 item.form.skin 에서 출력해야되는데 


 <p id="sit_desc">   
    <?php echo $it['it_basic']; ?></p>

번역언어를 감지해서 (접속국가가 한국이면 한국어로 출력, 일본이면 일본어 그외면 영어로 출력하고 싶습니다. )  또는 국가 링크를 넣어서 출력하고 싶은데   


if 문으로 아래처럼 표현해야하는지 궁금합니다. 

Copy
$site_lang = $_GET['lang'];

if($site_lang != ''){

    if($site_lang != 'en'){

        $echo $it['it_en']; ?

    }else if 

     ($site_lang != 'ja'){

        $echo $it['it_jp']; ?

}else{

        $echo $it['it_basic']; ?

    }

}

 


고수님들 의견 부탁드립니다. 감사합니다. 

답변 2개

채택된 답변
+20 포인트

단순히 사용자 IP 로 부터 국가코드를 알아내는 방법중 하나입니다.

Copy

www.geoplugin.net 에서 정보를 얻는동안 지연시간이 짧지는 않습니다.

속도가 중요할 경우 다른 솔루션이나 상용솔루션을 검색해보시면 될것 같고

접속자의 국가정보를 얻기 위해

langinfo($_SERVER['REMOTE_ADDR']); 의 형태로 호출해볼수 있는데

요청헤더에 XFF(X-Forwarded-For) 관련 헤더 필드가 있는 경우 적당히 참조하도록 수정할 필요는 있습니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

감사드립니다.

댓글을 작성하려면 로그인이 필요합니다.

Copy


switch($_GET['lang']):{

    case 'en';{

    echo $it['it_en'];

    break;

    }

case 'ja_JP':{

    echo $it['it_jp'];

    break;

    }

default:{

    echo $it['it_basic'];

    break;

    }

}

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

감사드립니다!

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고