테스트 사이트 - 개발 중인 베타 버전입니다

poedit 다국어 세션 문의 채택완료

위젯마스터 3년 전 조회 2,216

안녕하세요. 아래 글을 통해 opedit 다국어를 설정하였습니다.

https://sir.kr/pg_tip/16039

 

common.php 파일에 아래와 같이 설정하였으며, 페이지 상단 head.php에서 session 호출시 session 값을 가져오지 못하는 문제가 있습니다. session 값을 가져와야 페이지 이동시 변경된 언어로 유지되는데 해당부분에 대한 조언을 요청드립니다.

 

또한 common.php 파일의 domain을 $domain = "gnuboard5"; 같이 설정하는 이유가 궁금합니다. ㅠㅠ

 

common.php

</p>

<p>$locale = "ko_KR";</p>

<p>if( isset($_GET["locale"]) ){</p>

<p>    $locale = $_GET["locale"];</p>

<p>}elseif(isset($_SESSION["locale"])){</p>

<p>    $locale = $_SESSION["locale"];</p>

<p>}</p>

<p> </p>

<p>set_session('locale', $locale);</p>

<p>putenv("LANG={$locale}");</p>

<p>setlocale(LC_ALL, "$locale.UTF-8");</p>

<p> </p>

<p>$domain = "gnuboard5";</p>

<p>bindtextdomain($domain, G5_PATH.'/locale');</p>

<p>textdomain($domain);</p>

<p>

 

head.php

</p>

<p>                <?php</p>

<p>                    $url_locale = str_replace("locale=","",getenv("QUERY_STRING"));  </p>

<p>                    echo "session => ".get_session('locale');</p>

<p>                ?></p>

<p> </p>

<p>                <select name="language" id="language_selector"></p>

<p>                    <option value="ko_KR" <?php if($url_locale == "ko_KR") echo "selected"; ?> ><?php echo _("한국어"); ?></option></p>

<p>                    <option value="en_US" <?php if($url_locale == "en_US") echo "selected"; ?> ><?php echo _("영어"); ?></option></p>

<p>                    <option value="ja_JP" <?php if($url_locale == "ja_JP") echo "selected"; ?> ><?php echo _("일어"); ?></option></p>

<p>                    <option value="zh_CN" <?php if($url_locale == "zh_CN") echo "selected"; ?> ><?php echo _("중국어"); ?></option></p>

<p>                </select></p>

<p>

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
3년 전
set_session('locale', 'en_US');

우선, 로케일 세션을 en_US로 고정하는 경우 세션이 출력이 되는지 확인해 보시겠어요?

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

common.php 에 작성한 코드를 해당 파일 하단쪽으로 옮기니 동작하네요. common.lib 불러온 후 했는데 다른 연관부분에 문제가 있었나봅니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인