다국어 언어선택시 첫화면으로 이동하도록 설정하고 싶어요.

다국어 언어선택시 첫화면으로 이동하도록 설정하고 싶어요.

QA

다국어 언어선택시 첫화면으로 이동하도록 설정하고 싶어요.

본문

다국어 언어 선택 시 한국어와 영문의 주소 문제로 메인페이지로 강제로 보내고 싶습니다.

 

예를 들면 [회사소개] 메뉴에서 '영어'로 변경하면 '영문' [회사소개]가 아닌 홈페이지 첫화면으로요.

(현재는 주소이름 문제로, 없는 게시판이다는 알림이 떠서 곤란한 상황입니다)

 

그런데 어디를 어떻게 수정해야할 지 감이 잡히지 않습니다.

분명 [i18n.user.php] 를 수정하면 해결될 것 같은데 검색해도 나오지않네요.

 

선배님들의 도움을 부탁드립니다.

 


<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
 
require_once(G5_I18N_PATH . '/i18n.class.php');
 
class G5_i18n extends i18n {
public function __construct($filePath = NULL, $cachePath = NULL, $fallbackLang = NULL, $prefix = NULL)
{
parent::__construct($filePath, $cachePath, $fallbackLang, $prefix);
}
 
// 언어 선택 상자
public function getLangSelectbox()
{
global $config;
 
if (defined('G5_USE_I18N') && G5_USE_I18N && $config['cf_use_i18n']) {
$config['cf_language'] = json_decode($config['cf_language']);
$user_langs = $this->getUserLangs();
 
$change_url = G5_I18N_URL . '/language.php?url=' . urlencode($_SERVER['REQUEST_URI']);
if (defined('G5_IS_ADMIN') && G5_IS_ADMIN) $change_url .= '&is_admin=1';
$change_url .= '&language=\'+this.value;';
 
if (count($config['cf_language'])>0) {
//   echo '<label for=""></label>';
echo '<select title="LANGUAGE" onchange="location.href=\'' . $change_url . '">';
foreach($config['cf_language'] as $key => $val) {
$selected = ( $user_langs[0] == $key ? ' selected' : '');
echo '<option value="' . $key . '"' . $selected . '>' . $val . '</option>';
}
echo '</select>';
}
}
}
}
 
$i18n = new G5_i18n();
$i18n->setCachePath(G5_DATA_PATH . '/cache/i18n');
$i18n->setFilePath(G5_LANG_PATH . '/{LANGUAGE}.json'); // language file path
if (isset($_GET['language']) && trim($_GET['language']) !== '') {
setcookie('lang', $_GET['language'], time() + (60*60*24), '/');
} else if ($config['cf_i18n_default'] && empty($_COOKIE['lang'])) {
$i18n->setForcedLang($config['cf_i18n_default']);
setcookie('lang', $config['cf_i18n_default'], time() + (60*60*24), '/');
}
 
$i18n->init();
$langs = $i18n->getUserLangs();
define('G5_I18N_LANG', $langs[0]);

 
if (defined('G5_USE_I18N') && G5_USE_I18N && $config['cf_use_i18n'] && $config['cf_use_i18n_board']) {
    $where_i18n = " and bo_lang = '" . G5_I18N_LANG . "'";
    $update_i18n = ", bo_lang = '" . G5_I18N_LANG . "'";
}

이 질문에 댓글 쓰기 :

답변 1

$change_url = G5_I18N_URL . '/language.php?url=' . urlencode($_SERVER['REQUEST_URI']);

이녀석을

 

$change_url = G5_I18N_URL . '/language.php?url=' . '/';

이렇게 변경해보시고 

 

안되신다면 

$change_url = G5_I18N_URL . '/language.php?url=' . G5_URL;

 

답변을 작성하시기 전에 로그인 해주세요.
전체 59,576
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT