묻고답하기


빨간 글씨들은 정확히 어디에다가 입력하는지 알려주세요...



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



제로보드 xe는 자동으로 언어가 선택되게 하는 기능이 있다. 접속한 사용자가 어떤 언어를 쓰는지 체크해서 그 언어로 된 페이지를 보여준다. 사용자가 직접 언어를 선택할수도 있다. 이 기능을 적절히 이용하면 한번의 디자인으로 여러언어를 쉽게 사용가능하다.

하지만 , 다국어 사이트를 만들다보면 이 기능이 영 성가신게 아니다. 게시판이야 기본으로 제공하는 스킨을 그대로 사용하면 훌륭하게 다중언어를 사용가능하지만 일반 페이지의 경우 애매해진다. 제로보드에서 다중언어를 지원하는 기능이 GET 이나 POST 처럼 단순히 변수를 전달하는게 아니라 쿠키를 꿉는 형식이라 이 또한 무척이나 애매해진다.

 

이번에 제작한 홈페이지는 한글과 영문 두가지다.

각 홈페이지별로 레이아웃을 다르게 해서 제작을 했는데 막판에 가서 게시판을 다는데 문제가 발생했다. 단순히 옵션만 체크하면 영어게시판이 될줄 알았는데 그런 옵션을 아무리 찾아도 찾을수가 없었다. 별문제 아니라고 생각하고 제로보드 게시판을 뒤지기 시작했는데.. 이게 왠걸 답을 시원하게 해놓은 답변글이 없었다.

 

그나마 찾은글중에 onClick="doChangeLangType('en');" 을 해주면 영어로 바뀐다는거였다. 자동으로 변홚되는게 아니라 영어버튼을 클릭했을경우의 해법이다. 저 자바스크립트함수가 다중언어 쿠키를 영어로 바꿔주는것같다.

 

저걸 약간 응용해서 영어 레이아웃 상단에 아래와 같이 추가했다.

<script>

<!--@if($lang_supported[$lang_type]!="English")-->     doChangeLangType('en'); <!--@end-->

</script>

$lang_supported[$lang_type] 변수는 제로보드 xe용 변수인데, 현재 사용중인 언어를 보여준다. 즉, 현재 언어가 english 가 아니면 강제로 영어로 바꿔준다는 뜻이다.

한 글 페이지에서 영어페이지로 넘어오거나 영어페이지를 주소창에 치고 들어올경우 저 스크립트가 실행이 되는데, 처음 실행될때 화면이 한번 튕긴다. 페이지가 리로드 되는것같이 보이는데 그게 조금 마음에 안들지만 그렇게 크게 문제되어 보이진 않는다.

마찬가지로 한글 레이아웃 페이지 상단에도 아래와 같이 넣어준다

<!--@if($lang_supported[$lang_type]!="한국어")-->     doChangeLangType('ko'); <!--@end-->

</script>

이렇게 하면 각 레이아웃마다 다른 언어를 자동으로 지원하게 할수 있다.

 

제대로 작동하는것을 확인하고 뒤돌아 서려는데 문제가 생겼다. doChangeLangType 함수가 페이지를 튕구고 쿠키를 새로 꾸울때 문제가 있는것같다.

도메인에 www 를 붙이면 무한 리로드가 되어버리는것이다. 예를 들어 moonseller.net 라면 문제가 없는데, www.moonseller.net 하면 , 화면이 계속 리로드되면서 제정신을 못차린다.

 

이문제는 아래 코드를 제로보드 젤 첫페이지인 index.php 상단에 삽입하면서 해결해줄수 있다.

/** 도메인 접속을 www를 붙혀서 처리하고자 할때*/ 
    if(substr($_SERVER[HTTP_HOST],0,3) == "www") 
    { 
        $no_www =substr($_SERVER[HTTP_HOST],4);       
        header("location:http://$no_www".$_SERVER['REQUEST_URI']);
    } 

이 소스는 주소에 www가 붙어 있으면 자동으로 그걸 떼버리는 역활을 한다. 꼭 다중언어를 이용하기 위해서보다 회원로그인문제를 위해서도 넣어두는게 좋을것같다.

 

여기까지가 제로보드 xe에서 레이아웃 별로 다른 언어를 자동으로 지원하게 해주는 방법에 대한 이야기였다.

* 출처 : [제로보드XE] 레이아웃마다 언어 다르게 적용하는 법

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

초보라.... 어딘지를 못찾겠어요!


글쓴이 제목 최종 글
XE 공지 글 쓰기,삭제 운영방식 변경 공지 [16] 2019.03.05 by 남기남
설정훈 신문기사 줄줄 올라가는거 개인 홈에 설치하려면...??  
김재동 NZEO홈피 위 버튼 질문...  
김정수 포토샵설정에 대해 질문~ [1] 2007.08.10
김재동 포샵 문의..제로보드 위 메뉴 만드는법..-_-;; [1] 2007.08.10
전재안 include에 관한 질문입니다. [1] 2007.08.10
T mysql 질문이요~ [2] 2007.08.10
이상민 [mysql] 질문있는데요 고수님들 좀 갈켜 주세요 [1] 2007.08.10
yeosie xp에서 php  
만세 프레임에 테두리를 넣으려면 어떻게 해야하나요^_^; [1] 2007.08.10
PeACE_oNE 제로보드주위에 테두리 생기게 하려면 어떻게하죠? [1] 2007.08.10
여름이다 저기요 테이블(?)인가 그거 가운데정렬하는것좀 가르쳐주세요 [1] 2007.08.10
암흑천사 [re] 제가 초보라서 그러는데여. 서버를 꼭 사야 하나요? 보통컴퓨터에서는 서버를 만들수 없나여??  
최영헌 제가 초보라서 그러는데여. 서버를 꼭 사야 하나요? 보통컴퓨터에서는 서버를 만들수 없나여?? [2] 2007.08.10
서민웅 테이블에 마우스올리면 배경색 변하는거 알려주세요  
minezz 자바스크립트 변수사용에 관해서 문의 드립니다. [2] 2007.08.10
최경습 웹호스팅을 할려면 [1] 2007.08.10
꾸미 다이어리 모양으로 레이아웃...? [6] 2007.08.10
김상익 노프레임홈에 관련된 질문입니다! [1] 2007.08.10
윤여림 포토샵에서 투명이미지 저장이 안되네요! [2] 2007.08.10
오라클 msn 이모티콘중에 별 있죠? 그거 크게 만들고싶은데~ [2] 2007.08.10
김용식 고수님들의 조언 부탁드립니다..(자동차중고매매사이트)만들려면...  
김진석 nzeo.com처럼 배경화면을 만들고 싶은데... 어떻게 만들죠? [1] 2007.08.10
미쁜아카라 php로 배경을 랜덤하게?  
이영준 서로다른 프레임에서 문서명 알아내기? [2] 2007.08.10
장현재 저기요... 서버 설치할때.. [2] 2007.08.10
김승철 여러개의 테이블에서 최근게시물 뽑기 질문입니다.  
유우키 포토샵말이에요. [1] 2007.08.10
ⓝeGe 플래시 mx 에서 그라데이션 패널좀 찾아주세요~ [1] 2007.08.10
jjiyu mp3 화일 업로드 관련 질문여...꾸벅.. [2] 2007.08.10
그린 BGM플레이어를 만들고 싶어요. [1] 2007.08.10