다국어 사이트 같은 게시판
본문
해피정님께서 올려주신 https://sir.kr/g5_tip/4668 이글을 참고하여
상세페이지를 전부 영어로 번역하고 head index tail을 영어로 파일을 만들어서
영문으로 사이트를 만들었는데요
그누보드 게시판의 경우에는 이게 같은 게시글로 영어로 보여지지가 않네요
게시판은 같은데 영어로 볼수 있는 방법이 있을까요?
아니면 게시판을 하나 영문으로 새로 더 만들어야 하나요?
답변 4
일단 다국어는 관리하기가 쉬워야 됩니다. 나중에 추가 작업이나 수정작업이 쉽습니다.
session, cookie 를 이용해서 php 배열변수 혹은 xml로 다국어를 구현하는 것이 가장 좋습니다.
<?php
// 다국어 설정
$_SESSION['language'] = 'en'; // 영어
// 또는
$_SESSION['language'] = 'ko'; // 한국어
?>
<?php
// 세션 시작
// 다국어 설정 가져오기
$language = $_SESSION['language'];
// 언어에 따른 다국어 처리
if ($language == 'en') {
$string1 = 'Hello!'; // 영어
} else if ($language == 'ko') {
$string1 = '안녕하세요!'; // 한국어
}
echo $string1;
?>
여러가지 방법이 있을텐데요
제가 생각하는 방법으로는
게시판 글 작성시에 국문도 써야되고 영문도 써야된다고 생각합니다.
게시판에는 wr_content 말고 영문으로 들어갈 디비 필드를 하나 추가 또는 지정합니다.
추가 하실 디비에는 text 나 longtext 이런걸로 맞추어 주셔야 합니다.
글쓰기 스킨에서 국문은wr_content로 하시고 영문은 추가하실 필드를 사용합니다.
게시판 여분필드 에디터 추가 사용하는 방법 검색해서 적용하시면 좋습니다.
글 보기 스킨에서는
현재 들어온 페이지가 국문인지 영문인지를 판단하는 소스가 필요 하고요,
국문에서는 wr_content를 보여주고
영문에서는 추가 하신 필드를 보여주시고 하는 조건이 필요 합니다.
다른 쉬운 방법으로는
영문 전용 게시판을 추가 합니다. 영문버전에선 그 게시판을 사용하는거죠
대신 영문 추가 게시판이기에 메뉴url 주소가 달라지곘죠 이점 참고하시고요
다른 방법으로는 저는 해보진 않았지만 국문을 자동으로 번역해주는 기능일 수 있다고 생각됩니다.
세션에 변수가 저장되면, 접속자 만의 개인변수가 됩니다.
// 접속자의 변수 language 에 en 을 넣어 주면 접속이 유지 될때까지 접속자의 변수 language 에는 바꾸어 주지 않는 이상 en 이 됩니다.
$_SESSION['language'] = 'en'; // 영어
위 language 를 변경하려면 get 이나 post 로 구현을 하는데요.
if (isset($_GET['lang']))
{
if ($_GET['lang'] == 'ko')
$_SESSION['language'] = 'ko'; // 한글
else if ($_GET['lang'] == 'en')
$_SESSION['language'] = 'en'; // 영어
exit;
}
extend/user.config.php 작성하고
그누보드 사용 기준 index.php 파일에 아래의 소스를 넣고,
<?php
// 다국어 설정 가져오기
$language = $_SESSION['language'];
// 언어에 따른 다국어 처리
if ($language == 'en') {
$string1 = 'Board Name';
$string2 = 'Subject';
$string3 = 'Writer';
} else if ($language == 'ko') {
$string1 = '게시판명';
$string2 = '제목';
$string3 = '글쓴이';
}
?>
<div>
<iframe name="lang_iframe" id="lang_iframe" style="display:none;"></iframe>
<a href="/?lang=ko" target="lang_iframe">한국어</a>
<a href="/?lang=en" target="lang_iframe">영어</a>
<script>jQuery(document).ready(function(){jQuery("iframe#lang_iframe").bind('load', function(){parent.location.reload();});});</script>
</div><br />
<div>게시판명 : <?php echo $string1?></div>
<div>제목 : <?php echo $string2?></div>
<div>글쓴이 : <?php echo $string3?></div>
위 처럼 작성하고 한국어 영어 링크를 번갈아 눌러 보시면 알수 있습니다.
!-->!-->!-->
그누보드 다국어 확인해 보세요. 현재 영문판과 일본어판이 있습니다. 일본어테마도 별도로 있구요. 각각의 영문판 그누보드와 일본어판 그누보드는 관리자까지 해당 언어로 되어있습니다. 관리자는 한국어로 되어 있는 다국어판도 준비준입니다. https://tloghost.com/shop/list.php?ca_id=30&sort=pt_comment&sortodr=desc