G5 다국어 홈페이지 사용하기 정보
G5 다국어 홈페이지 사용하기관련링크
본문
그누보드 G5 에서 다국어 홈페이지를 이용하는 방법입니다.
실시간 번역 방식이 아닌 별도 게시판과 컨텐츠 페이지를 이용하는 방법입니다.
조건
1. 한국어 기본 사이트가 존재하고, 영문 사이트가 필요
2. 테마사용
3. 게시판의 경우엔 영문에 사용할 게시판 추가 생성
1. g5 / index.php 을 index_en.php 로 복사후 내용 수정
<?php
include_once('./_common.php');
define('_INDEX_', true);
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
if(defined('G5_THEME_PATH')) {
require_once(G5_THEME_PATH.'/index_en.php');
return;
}
if (G5_IS_MOBILE) {
include_once(G5_MOBILE_PATH.'/index_en.php');
return;
}
include_once(G5_PATH.'/head.php');
include_once(G5_PATH.'/tail.php');
?>
2. g5 / theme / 테마명 / index.php 를 index_en.php 로 복사해서 영문페이지 제작
g5 / theme / 테마명 / img / en 폴더를 만들어서 영문용 이미지를 넣어놓으면 편리합니다.
include_once(G5_THEME_MOBILE_PATH.'/index.php'); 를
include_once(G5_THEME_MOBILE_PATH.'/index_en.php'); 로 변경
include_once(G5_THEME_PATH.'/head.php'); 를
include_once(G5_THEME_PATH.'/head_en.php'); 로 변경
include_once(G5_THEME_PATH.'/tail.php'); 를
include_once(G5_THEME_PATH.'/tail_en.php'); 로 변경
이미지 경로를 변경합니다.
3. g5 / bbs / content.php 를 content_en.php 복사후 내용 수정
include_once(G5_MOBILE_PATH.'/content.php'); 를
include_once(G5_MOBILE_PATH.'/content_en.php'); 로 변경
include_once('./_head.php'); 를
include_once(G5_THEME_PATH.'/head_en.php'); 로 변경
include_once(G5_THEME_PATH.'/tail.php'); 를
include_once(G5_THEME_PATH.'/tail_en.php'); 로 변경
include_once('./_tail.php'); 를
include_once(G5_THEME_PATH.'/tail_en.php'); 로 변경
4. g5 / mobile / content.php 를 content_en.php 복사후 내용 수정
include_once('./_head.php'); 를
include_once(G5_THEME_PATH.'/head_en.php'); 로 수정
include_once('./_tail.php'); 를
include_once(G5_THEME_PATH.'/tail_en.php'); 로 수정
5. g5 / theme / 테마명 / head.php 를 head_en.php 로 복사후 내용 수정
include_once(G5_THEME_MOBILE_PATH.'/head.php'); 를
include_once(G5_THEME_MOBILE_PATH.'/head_en.php'); 로 변경
content.php 를 content_en.php 로 변경
6. g5 / theme / 테마명 / tail.php 를 tail_en.php 로 복사후 내용 수정
include_once(G5_THEME_MOBILE_PATH.'/tail.php'); 를
include_once(G5_THEME_MOBILE_PATH.'/tail_en.php'); 로 변경
content.php 를 content_en.php 로 변경
7. g5 / theme / 테마명 / mobile / head.php 를 head_en.php 로 복사후 내용 수정
content.php 를 content_en.php 로 변경
모바일 메뉴는 g5의 환경설정에서 만든 메뉴를 사용할 수 없으므로 개별 제작이 필요합니다.
한글 모바일 메뉴에서 소스를 추출해서 메뉴부분을 head_en.php 에 적용합니다.
8. g5 / theme / 테마명 / mobile / tail.php 를 tail_en.php 로 복사후 내용 수정
content.php 를 content_en.php 로 변경
6
댓글 35개
순정 그누보드 상태를 유지하면서 다국어 형태로 사용하는 팁입니다.
bbs\board_head.php 를 손대야 될 것 같은데요..잘 안되네요 ㅜㅜ
그곳에 영어 메뉴를 추가합니다.
영어 테마의 head.php 내용중
$row['me_name'] 를 $row['me_name_eng'] 로
$row2['me_name'] 를 $row2['me_name_eng'] 로
변경하면 원하는 결과가 나올듯 하네요
죄송하지만 g5_menu 테이블이 어디에 있는건가요?
환경설정에 들어가서 찾아봐도 없어서요 ㅠㅠ
초보라 죄송합니다.
좋은하루 보내셔요!
호스팅사에서 별도로 제공하는 경우가 있으니 문의해보세요
해피정님덕분에 어떻게 여기까지 진입은 했는데요.
테이블추가를 어떻게 하는지를 모르겠어요 ㅠㅠ
카페24에서 문의해봐도 그런건 고객이 알아서 하는거라고 해서요...
방법좀 알수 있을까요?ㅠㅠ
@해피정 안녕하세요. 제공해주신 팁으로 작업을 하였는데
[me_use_eng]를 만들어서 영어메뉴중에 안쓰는 서브 메뉴는 숨기려고하는데
이게 작동이 않되서 어떻게 해보기했는데 1단계메뉴는 성공했는데 2단계 메뉴가 적용이 않되서요.. 혹시 도움을 받을수있을까요?
<ul class="sidebar-menu">
<?php
$use_english = true; // 이 값을 필요에 따라 설정하세요 (영문 메뉴 사용 여부)
$menu_datas = get_menu_db(0, true);
// 메뉴 데이터를 필터링하여 영문 메뉴 또는 한글 메뉴 사용 여부를 확인
$filtered_menu_datas = array_filter($menu_datas, function($row) use ($use_english) {
if (empty($row)) return false;
return $use_english ? $row['me_use_en'] : $row['me_use'];
return $use_english ? $row2['me_use_en'] : $row['me_use'];
});
$gnb_zindex = 999; // gnb_1dli z-index 값 설정용
$i = 0;
foreach ($filtered_menu_datas as $row) {
if (empty($row)) continue;
$add_class = (isset($row['sub']) && $row['sub']) ? 'gnb_al_li_plus' : '';
?>
<li>
<a href="<?php echo $use_english ? $row['me_link_en'] : $row['me_link']; ?>" target="_<?php echo $row['me_target']; ?>">
<?php echo $use_english ? $row['me_name_en'] : $row['me_name']; ?>
</a>
<?php
$k = 0;
foreach( (array) $row['sub'] as $row2 ){
if( empty($row2) ) continue;
if($k == 0)
echo '<ul class="sidebar-submenu">'.PHP_EOL;
?>
<li class="2bt"><a href="<?php echo $row2['me_link_en']; ?>" target="_<?php echo $row2['me_target']; ?>"><?php echo $row2['me_name_en'] ?></a></li>
<?php
$k++;
} //end foreach $row2
if($k > 0)
echo '</ul>'.PHP_EOL;
?>
</li>
<?php
$i++;
} //end foreach $row
if ($i == 0) { ?>
<li class="gnb_empty">메뉴 준비 중입니다.<?php if ($is_admin) { ?> <a href="<?php echo G5_ADMIN_URL; ?>/menu_list.php">관리자모드 > 환경설정 > 메뉴설정</a>에서 설정하실 수 있습니다.<?php } ?></li>
<?php } ?>
</ul>
하나의 웹호스팅에 테마를 사용하여 국문을 구축하고,
이 국문 홈페이지를 똑같이 www 아래 복사&붙여넣기하여
영문 홈페이지로 사용하려 합니다.
그런데,
영문홈페이지 게시판에서
상단(메뉴,로고) 부분과
하단(footer) 부분이
게시판 내용을 볼 때는
국문 헤더와 푸터와 노출되는
현상을 영문 헤더와 영문 푸터로 보이게 하는 방법을 모르겠습니다.
고수님,
조언을 부탁드립니다.