다국어 페이지를 제작하려고 합니다.
본문
예전 그누보드M 처럼 DB에 번역된 내용을 저장해두고
함수를 만들어서 세션이나 유저가 설정한 값으로 불러오게끔 하려는데
저처럼 사용하시거나 경험해보신 분 있으실까요?
글자가 들어가는 모든 위치에 함수를 추가해야하겠지만
자동 번역은 번역이 어색할때가 많아 직접등록하려고 합니다.
혹시 추천해주실만한 방법이 있을까요?
답변 2
지나가다가 아이디어가 생각나서 남깁니다.
국문 - 번역 1 - 번역 2 -----등등
디비에 테이블 조건(필드들)을 다 동일 시 된 테이블을 번역본 마다 만드시고 내용을 넣으시고
현재 화면의 번역변수를 만든다음 if문으로 이페이지의 번역 언어를 감지해서 디비에서 해당 데이터를 불러오는것이 어떤가 해서 남겨봅니다.
예를 들자면,,,
국문 테이블 : 필드1 번호 / 필드2 내용 / 필드3 기록 날짜 ( 언제 작성 또는 수정했는지 알수있게)
영어 테이블 : 필드1 번호 / 필드2 내용 / 필드3 기록 날짜 ( 언제 작성 또는 수정했는지 알수있게)
일어 테이블 : 필드1 번호 / 필드2 내용 / 필드3 기록 날짜 ( 언제 작성 또는 수정했는지 알수있게)
if ($lang == 'en'){ // 영어 홈페이지라면
영어테이블의 1번 의 내용을 보여줘
} elseif ( $lang == 'ja' ) { //일본어 홈페이지라면
일어테이블의 1번 의 내용을 보여줘
} else { // 나머진 국문으로 간주
국문테이블의 1번 의 내용을 보여줘
}
저라면 이런식으로 제작할 거 같아요
텍스트마다 db 에서 쿼리로 불러오는것보다
$lang['안녕하세요'] = array('ko' => '안녕하세요', 'en' => 'hello', 'ch' => '니하오');
이런식으로 정의를 해놓으시고
세션에 $_SESSION['lang'] = 'ko'; 이런식으로 값을 가지고있다면
텍스트 들어가는곳에 <?=$lang['안녕하세요'][$_SESSION['lang']]?> 이렇게 해서
$_SESSION['lang'] 의 값이 ko, en, ch 에 따라 다르게 출력하는 방법은 어떠신지 ㅎㅎ