다국어 언어선택시 첫화면으로 이동하도록 설정하고 싶어요.
본문
다국어 언어 선택 시 한국어와 영문의 주소 문제로 메인페이지로 강제로 보내고 싶습니다.
예를 들면 [회사소개] 메뉴에서 '영어'로 변경하면 '영문' [회사소개]가 아닌 홈페이지 첫화면으로요.
(현재는 주소이름 문제로, 없는 게시판이다는 알림이 떠서 곤란한 상황입니다)
그런데 어디를 어떻게 수정해야할 지 감이 잡히지 않습니다.
분명 [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
;
답변을 작성하시기 전에 로그인 해주세요.