poedit 다국어 세션 문의
본문
안녕하세요. 아래 글을 통해 opedit 다국어를 설정하였습니다.
common.php 파일에 아래와 같이 설정하였으며, 페이지 상단 head.php에서 session 호출시 session 값을 가져오지 못하는 문제가 있습니다. session 값을 가져와야 페이지 이동시 변경된 언어로 유지되는데 해당부분에 대한 조언을 요청드립니다.
또한 common.php 파일의 domain을 $domain = "gnuboard5"; 같이 설정하는 이유가 궁금합니다. ㅠㅠ
common.php
$locale = "ko_KR";
if( isset($_GET["locale"]) ){
$locale = $_GET["locale"];
}elseif(isset($_SESSION["locale"])){
$locale = $_SESSION["locale"];
}
set_session('locale', $locale);
putenv("LANG={$locale}");
setlocale(LC_ALL, "$locale.UTF-8");
$domain = "gnuboard5";
bindtextdomain($domain, G5_PATH.'/locale');
textdomain($domain);
head.php
<?php
$url_locale = str_replace("locale=","",getenv("QUERY_STRING"));
echo "session => ".get_session('locale');
?>
<select name="language" id="language_selector">
<option value="ko_KR" <?php if($url_locale == "ko_KR") echo "selected"; ?> ><?php echo _("한국어"); ?></option>
<option value="en_US" <?php if($url_locale == "en_US") echo "selected"; ?> ><?php echo _("영어"); ?></option>
<option value="ja_JP" <?php if($url_locale == "ja_JP") echo "selected"; ?> ><?php echo _("일어"); ?></option>
<option value="zh_CN" <?php if($url_locale == "zh_CN") echo "selected"; ?> ><?php echo _("중국어"); ?></option>
</select>
답변 2
set_session('locale', 'en_US');
우선, 로케일 세션을 en_US로 고정하는 경우 세션이 출력이 되는지 확인해 보시겠어요?
common.php 에 작성한 코드를 해당 파일 하단쪽으로 옮기니 동작하네요. common.lib 불러온 후 했는데 다른 연관부분에 문제가 있었나봅니다.
답변을 작성하시기 전에 로그인 해주세요.