##-- google adsense --##
Web/Tech

Cugain의 UTF-8 지원 제로보드4

By February 22, 2009 2 Comments

Cugain의 UTF-8 지원 제로보드4의 특징 및 설명서

del.icio.us Tags: zeroboard 4,UTF-8,제로보드4

http://www.omnibuscode.com/zeroboard/zboard.php?id=seeyou_programing_zeroboard&page=1&sn1=&divpage=1&category=4&sn=off&ss=on&sc=off&select_arrange=headnum&desc=asc&no=32

Cugain (Homepage)
2007-07-29 00:44:21, HIT : 232, VOTE : 16

Download #1 : cugain_zb41pl8_utf8_install_071211.zip (1.08 MB), Download : 0

UTF-8 지원 제로보드4 (Zeroboard4 UTF-8) – 페이지 인클루드 방식
이 문서는 UTF-8 지원 제로보드4의 설치 및 활용 메뉴얼입니다.
이 문서의 버전은 존재하지 않지만 갱신되는 일자별로 문서의 변경내용을 저장할 예정입니다.


이 프로그램은 본 홈페이지를 작업하며 생성된 제로보드의 수정본입니다.
프로그램의 라이센스와 버전은 존재하지 않으며 이 제로보드를 사용하여 발생하는 문제에 대해 본인은 어떠한 책임도 지지 않습니다.
특징 1. 제로보드가 UTF-8을 지원할 수 있도록 파일포맷 및 일부코드가 수정되었습니다.
2. 사용자의 선택에 따라 제로보드의 언어를 바꿀 수 있습니다. (현재는 한국어, 일본어, 영어만 지원됩니다.)
3. 한번 선택된 언어는 다음번 접속에도 언어정보를 유지할 수 있도록 언어정보를 쿠키에 저장합니다.
4. 페이지별 properties가 존재하여 페이지 로드시 언어셋 문자열을 같이 로드하게 되므로 세션의 낭비가 적습니다.
5. 언어의 추가적인 확장이 용이합니다. (페이지별 properties가 존재하여 페이지별 작성이 가능합니다.)
6. 사용된 제로보드 버전은 4.1 pl8 입니다.
압축파일내 구성물

– bbs/                                       <- 제로보드 디렉토리입니다.
– language_set.php                    <- 언어셋을 변환하는 페이지입니다.
– properties_var_init.php            <- 초기 설치시 또는 초기 방문자에 대한 언어정보 초기값을 설정하는 파일입니다.
– user_get_properties.php          <- 사용자 properties 화일 로드 페이지
– sample_main.php                    <- 샘플 사용자 디자인 페이지
– sample_main_kor.properties    <- 샘플 사용자 디자인 페이지용 properties 화일
– readme.html                           <- UTF-8 지원 제로보드4의 설치 및 활용 메뉴얼

사용법
1.
초기 설치하기 (제로보드를 사용한 경험이 있는 유저를 기준으로 합니다.)
    – 첨부된 파일을 다운로드합니다.
    – 파일을 압축 해제하여 properties_var_init.php 파일을 편집합니다. (수정해야 할 파일의 내용은 다음과 같습니다.)

$_zb_name = "bbs";                         // 제로보드 디렉토리 이름
$_forward_path = "/bbs/install.php";  // language_set.php 페이지 실행 후 리다이렉트 할 페이지
$_default_charset = "kor";                // 한국어:kor, 일본어:jpn

    – 파일 수정 후 bbs디렉토리 및 php 파일들을 그대로 웹서버에 올립니다. 
    – 업로드한 파일 및 디렉토리의 권한을 707로 변경하고 bbs/install.php 를 실행하여 제로보드를 설치합니다.
    – 일단 설치가 끝났다면 지금까지의 방식대로 홈페이지를 구성하셔도 상관없습니다.

2.
홈페이지 디자인에 적용
    – 언어셋 적용의 전체적인 흐름 파악
      일단 설치가 끝났다면 지금까지의 방식대로 홈페이지를 구성하셔도 상관없습니다.
      하지만 각 국가별 언어를 선택하여 출력하기를 원한다면 language_set.php 파일에 언어셋을 재로드하는 과정을 거쳐야 합니다.
      language_set.php의 로직을 보시면 아시겠지만 사용자 언어정보를 파라미터로 받아 쿠키로 저장하고 있습니다.
      예를들어, language_set.php?user_charset=jpn 으로 호출하면 제로보드는 일본어로 출력하게 됩니다.
      따라서 언어 선택 메뉴를 구상하고 있다면 language_set.php 페이지에 user_charset 파라미터를 전달하도록 하십시요.
      language_set.php 페이지가 수행되어 언어셋이 쿠키에 저장된 후에는 properties_var_init.php 에 정의한 $_forward_path 의 경로로
      리다이렉트 합니다.
    – 스킨에 적용 ([제로보드\skin\nzeo_ver4_bbs]스킨을 참조하도록 하십시요.)
      1) 새로운 스킨을 UTF-8로 변환하고, nzeo_ver4_bbs에 저장되어 있는 skin_get_properties.php 화일을 카피합니다.
      2) 적용할 모든 php화일의 최상단에는 다음의 코드를 삽입하여 주십시요. ($skin_pagename 변수의 내용을 수정합니다.)

<?
/***************************************************************************
* properties 로딩
**************************************************************************/
  $skin_pagename = "setup";              // 현재 수정하고 있는 php화일의 확장자를 뺀 화일명입니다.
  include "skin_get_properties.php";     // 이 부분은 공통입니다.
?>

      3) 스킨 디렉토리내에 있는 php화일들에서 한글을 추출하는 작업이 필요합니다.
         . 한글을 추출하여 properties확장자로 파일을 생성하도록 하십시요. (setup_kor.properties 파일을 참조하십시요.)
         . 파일 이름은 원본php파일 이름과 매칭되도록 합니다.
         . 예를들어, setup.php 에 대응되는 properties 화일은 setup_kor.properties 또는 setup_jpn.properties 입니다.
         . setup_kor.properties 파일을 살펴보면 변수가 선언되어 있고 변수에 저장되는 문자열을 정의하고 있습니다.
         . 각각의 라인에 맞춰 단어를 삽입하도록 합니다.
         . properties에 정의한 문자열은 php파일내에서 $array_zeroboard_properties[라인넘버] 식으로 사용하시면 됩니다. 
    – 사용자 정의 페이지에 적용 (홈페이지 디자인 페이지에 언어셋을 적용합니다.)
      1) 적용할 php페이지에 user_get_properties.php 파일을 include 해야 합니다.
          적용할 모든 php화일의 최상단에는 다음의 코드를 삽입하여 주십시요. ($pagename 변수의 내용을 수정합니다.)
          만일 지금 수정하는 페이지 이름이 /sample_main.php라면

<?
/***************************************************************************
* properties 로딩
**************************************************************************/
  $pagename = "sample_main";                       // 현재 수정하고 있는 php화일의 확장자를 뺀 화일명입니다.
  include "user_get_properties.php";                 // 이 부분은 공통입니다.
?>

      2) php화일에서 한글을 추출하는 작업이 필요합니다.
         . 한글을 추출하여 properties확장자로 파일을 생성하도록 하십시요. (sample_main_kor.properties를 참조하십시요.)
         . 파일 이름은 원본php파일 이름과 매칭되도록 합니다.
         . 예를들어, sample_main.php 에 대응되는 properties 화일은 sample_main_kor.properties 또는 sample_main_jpn.properties 입니다.
         . sample_main_kor.properties 파일을 살펴보면 변수가 선언되어 있고 변수에 저장되는 문자열을 정의하고 있습니다.
         . 각각의 라인에 맞춰 단어를 삽입하도록 합니다.
         . properties에 정의한 문자열은 php파일내에서 $array_zeroboard_properties[라인넘버] 식으로 사용하시면 됩니다.
   – 아웃로그인에 적용 ([제로보드]\outlogin_skin\dateinfo]스킨을 참조하도록 하십시요.)
      1) 새롭게 적용할 스킨에 outlogin_str_replace.php를 복사해 넣습니다.
          . 복사한 outlogin_str_replace.php 파일을 수정하셔야 합니다.
          . outlogin_str_replace.php 파일을 살펴보면 "// string replace" 로 주석처리한 라인 이후를 참조하시길 바랍니다.

// string replace
$_outlogin_data = str_replace("&array_outlogin_skin_properties[1]","(".$array_outlogin_skin_properties[1].")",$_outlogin_data);

          . 적용할 문자열의 갯수만큼 위의 라인을 정의하고 "&array_outlogin_skin_properties[라인넘버]" 또는 "$array_outlogin_skin_properties[라인넘버]" 의 
            라인넘버는 순차적으로 증가시켜주십시요.
          . login.html을 살펴보면 18번째 라인에 "&array_outlogin_skin_properties[1]"로 정의한 부분을 볼 수 있습니다.
          . 코드의 해석으로 보자면 "&array_outlogin_skin_properties[1]"로 정의한 부분을 $array_outlogin_skin_properties[1] 문자열로 대체한다는 의미입니다.
      2) 스킨밑의 images 디렉토리([outlogin_skin]/images/)의 화일들은 [outlogin_skin]/images/kor 을 생성하여 이동시킵니다.
          일본어 이미지를 준비해 두었다면 [outlogin_skin]/images/jpn 디렉토리를 생성하고 복사해 넣으십시요. 
          준비하지 않았다면 그냥 원래의 이미지만이라도 복사해 넣습니다.
      3) 스킨의 작업과 같이 properties 화일을 생성하셔야 합니다. ([제로보드]\outlogin_skin\dateinfo 스킨의 properties 화일들을 참조하십시요.)
          . outlogin 로직은 login.html 과 logged.html 페이지를 사용하므로 생성할 properties화일은 4개입니다.
          . login.html 에 대응하는 properties 화일은 login_kor.properties과 login_jpn.properties 입니다.
          . logged.html 에 대응하는 properties 화일은 logged_kor.properties과 logged_jpn.properties 입니다.
          . [제로보드]\outlogin_skin\dateinfo]스킨의 login_kor.properties를 살펴보면 변수가 선언되어 있고 변수에 저장되는 문자열을 정의하고 있습니다.
          . 각각의 라인에 맞춰 단어를 삽입하도록 합니다.
          . properties에 정의한 문자열은 outlogin_str_replace.php파일내에서 $array_outlogin_skin_properties[라인넘버] 식으로 사용됩니다.
   – 최신게시글에 적용 ([제로보드]\latest_skin\default_bbs]스킨을 참조하도록 하십시요.)
      1) 새롭게 적용할 스킨에 latest_str_replace.php를 복사해 넣습니다.
          . 복사한 latest_str_replace.php 파일을 수정하셔야 합니다.
          . latest_str_replace.php 파일을 살펴보면 "// string replace" 로 주석처리한 라인 이후를 참조하시길 바랍니다.

// string replace
$str = str_replace("&array_latest_skin_properties[1]","(".$array_latest_skin_properties[1].")",$str);

          . 적용할 문자열의 갯수만큼 위의 라인을 정의하고 "&array_latest_skin_properties[라인넘버]" 또는 "$array_latest_skin_properties[라인넘버]" 의 
            라인넘버는 순차적으로 증가시켜주십시요.
          . main.html을 살펴보면 5번째 라인에 "&array_latest_skin_properties[1]"로 정의한 부분을 볼 수 있습니다.
          . 코드의 해석으로 보자면 "&array_latest_skin_properties[1]"로 정의한 부분을 $array_latest_skin_properties[1] 문자열로 대체한다는 의미입니다.
      2) 스킨밑의 images 디렉토리([lastest_skin]/images/)의 화일들은 [lastest_skin]/images/kor 을 생성하여 이동시킵니다.
          일본어 이미지를 준비해 두었다면 [lastest_skin]/images/jpn 디렉토리를 생성하고 복사해 넣으십시요. 
          준비하지 않았다면 그냥 원래의 이미지만이라도 복사해 넣습니다.
      3) 스킨의 작업과 같이 properties 화일을 생성하셔야 합니다. ([제로보드]\latest_skin\default_bbs 스킨의 properties 화일들을 참조하십시요.)
          . latest_skin 로직은 main.html 페이지를 사용하므로 생성할 properties화일은 2개입니다.
          . main.html 에 대응하는 properties 화일은 main_kor.properties과 main_jpn.properties 입니다.
          . [제로보드]\lastest_skin\default_bbs]스킨의 main_kor.properties를 살펴보면 변수가 선언되어 있고 변수에 저장되는 문자열을 정의하고 있습니다.
          . 각각의 라인에 맞춰 단어를 삽입하도록 합니다.
          . properties에 정의한 문자열은 latest_str_replace.php파일내에서 $array_latest_skin_properties[라인넘버] 식으로 사용됩니다.

◈ written by cugain (2007/01/25)

Share
%d bloggers like this: