그누보드 다국어 버전 제작하면서 느낀점.. 정보
궁금 그누보드 다국어 버전 제작하면서 느낀점..본문
안녕하세요.
가입 후 처음으로 글을 남기게 되네요.
그동안 회사에서 사이트 작업을 하면서 자체제작 보드를 사용해 왔습니다.
물론 제가 몇년간 뚝딱뚝딱 해서 만들어 왔던 거죠.
머.. 그걸로 일반 사이트 제작에는 무리가 없었습니다.
UTF-8로 제작 한거니 다국어 버전도 가능했죠.
그런데.. 문제가 발생했습니다.
asp로 작업한지라,
이번에 리눅스로 돌리는 일본사이트 작업에는 쓸 수가 없게 된거죠.
해서..
php쪽 게시판 모듈을 살펴보다가 그누보드 쪽이 괜찮을 것 같다는 결론을 내렸습니다.
다국어버전 작업 즉 utf-8변환작업을 들어간지 이틀정도 되니 어느정도 게시판 모듈자체의 다국어화는 마무리가 되었습니다. 특히나 GET방식으로 쿼리를 날리는데 있어서 많은 부분이 이미 인코딩이 되어서 넘어가는 지라 상당히 빠르게 작업이 완료되었죠.
그런데 문제가 생겼습니다.
그누보드의 메세지여러 한글 메세지들을 일본어로 바꾸는 문제!!
일종의 언어팩을 제작하는 문제인데 일단 참고를 위해 이미 다국어 언어팩을 갖추고 있는 세팔보드를 참고해 봤습니다.
세팔보드의 경우 lang 폴더 밑에 각각의 경우에 해당하는 메세지 txt파일을 include시키는 방식으로 언어팩을 이용했더군요.
하지만 일단 저는 그누보드로 작업을 하고자 했기에 세팔보드를 참고해서 다시 모듈을 변경하기에는 상당한 작업량이 예상되었습니다. 또한 이번 플젝에는 많은 시간이 주어지지 않았기에 좀 더 빠른 방법을 찾고자 했죠.
세팔보드 같은 경우. 각각의 특징있는 변수에 각 언어에 해당하는 메세지를 담습니다.
해서 이러한 변수명에 해당하는 부분을 html의 주석처리와 같은 부분에서 바꾸어 표시하는 방법이었습니다. 한번 만들어 두면 두고두고 편하게 사용할 수 있겠지만 그누보드에 적용한다면 일단 변수명 하나하나를 지어주어야하고(이를 숫자로 할 수도 있지만 이런경우 나중에 이 메세지가 무엇을 나타내는지 일일히 확인해봐야하는 번거로움이 있습니다.) 그런 파일을 인클루드하는 방식으로 처리하면 기존의 그누보드는 머.. 난장판이 될 것 같았습니다.
현재의 주어진 시간과 몇가지 변수들을 고려해 볼 때 다음과 같은 방법으로 하는 편이 낫겠다 싶었습니다.
일단
common.php쪽에 다음과 같은 함수를 만들었습니다.
//다국어를 배열로 가져와서 뿌려준다.
//langSort : 0 - 한국어, 1 - 일본어
function LO($str, $langSort = 0){
$tmpStr = explode("|", $str);
return $tmpStr[$langSort];
}
function LO($str, $langSort = 0){
$tmpStr = explode("|", $str);
return $tmpStr[$langSort];
}
그리고 일반 페이지에서는 아래와 같은 방법으로 호출을 하고요.
<td style='padding-left:20px; height:30px;'>· <?=LO("제목|タイトル", $_SESSION["lang"])?></td>
<td><input class=ed style="width:100%;" name=wr_subject itemname="<?=LO("제목|タイトル", $_SESSION["lang"])?>" required value="<?=$subject?>"></td></tr>
<td><input class=ed style="width:100%;" name=wr_subject itemname="<?=LO("제목|タイトル", $_SESSION["lang"])?>" required value="<?=$subject?>"></td></tr>
제가 생각한 위의 형식의 장점이라고 하면 일단 따로 언어팩을 인클루드 할 필요성이 없고, 메세지의 내용을 언어팩과 비교해볼 필요가 없이 바로 수정 및 추가가 가능한 방식인것 같았습니다.
일단 이런 방식으로해서 스킨을 바꾸고 적용을 해보니 속도면에서는 큰 차이는 없는듯 싶었습니다.
위와 같은 이유로 일단은 이런방식으로 다국어화를 진행할려고 합니다.
하지만 여기서 몇몇가지 문제.
js나 htm같은 파일의 처리방식.
이미지 처리방식
등이 남아있습니다.
일단 js,css,html 파일은 php쪽으로 불러와서 변환시키는 방법과
각각의 언어에 해당하는 폴더를 만들고 하부에 파일들을 넣어서 불러오는 방식이 생각나는데..
이런방식들이 고민이 됩니다.
혹시..
고수님들 중에 이러한 상황에서 보다 나은 방식을 알고 계신 분들이 있으시다면
좋은 말씀 한마디 해주시길 부탁드리겠습니다.
잡담 : 한글 메세지를 일본어로 번역해서 하는게 생각보다 상당히 고됩니다. 거의 막노동같아요..T.T 많거든요..
댓글 전체