'language_support'에 해당되는 글 2건

  1. 2009/10/01 2.3.2.12. language_support
  2. 2009/02/04 1.2.19.language_support
sw2009/10/01 09:16

함수정의

extern bool lang_init (void)

파라미터

 

호출자

-       boot_cl:: boot_initialize_client

-       boot_cl:: boot_restart_client

-       boot_sr:: boot_restart_server

-       csql:: csql_exit_init

-       language_support:: lang_charset

-       language_support:: lang_currency

-       language_support:: lang_id

-       language_support:: lang_loc_bytes_per_char

-       language_support:: lang_namelang_name

-       release_string:: rel_copyright_body

-       release_string:: rel_copyright_header

-       boot_sr:: xboot_emergency_patch

-       boot_sr:: xboot_initialize_server

-       boot_sr:: xboot_restart_from_backup

메모

-       언어권에 따른 환경 설정 값을 초기화한다.



함수정의

extern const char *lang_name (void)

파라미터

 

호출자

-       message_category:: msgcat_open

-       message_category:: msgcat_open_file

메모

-       현재 설정된 언어명을 반환한다.



함수정의

extern INTL_CODESET lang_charset (void)

파라미터

 

호출자

 

메모

-       환경설정에 따른 문자조합의 형태를 반환



Posted by redef

댓글을 달아 주세요

sw2009/02/04 14:37



함수명
const char * lang_name (void)

파라미터

개요
환경설정에 되어 있는 언어명을 반환한다.

소스

 

// 초기화가 되어 있지 않으면 초기화를 한다.
  if (!lang_Initialized)
    {
      lang_init ();
    }
  // 언어명 리턴
  return lang_Loc_name;



함수명
bool lang_init (void)

파라미터

개요
여러 언어를 지원하기 위한 모듈의 초기화

소스

 

...

  //초기화가 되었는지 확인
  if (lang_Initialized)
  ...

  // 설정이 되어 있지 않으면 영어를 기본으로 사용
  strcpy (lang_Loc_name, LANG_NAME_ENGLISH);
  lang_Loc_id = INTL_LANG_ENGLISH;
  lang_Loc_bytes_per_char = 1;
  lang_Loc_currency = DB_CURRENCY_DOLLAR;
  // 1.2.18.intl_support : code set을 초기화 한다(LC_CTYPE : 문자관련)
  lang_Loc_charset = intl_codeset (LC_CTYPE);

 
 
   // CUBRID_LANG 의 환경변수 값을 구한다.
  env = envvar_get("LANG");
  if (env != NULL)
    {
      strcpy (lang_Loc_name, env);
    }
    ...

  //한국어 일때 설정
  if (strncmp (lang_Loc_name, LANG_NAME_KOREAN, strlen (LANG_NAME_KOREAN)) == 0)
    {
      lang_Loc_id = INTL_LANG_KOREAN;
      lang_Loc_currency = DB_CURRENCY_WON;
    }

  // 언어 set의 값에 "."이 있는 검사
  s = strchr (lang_Loc_name, '.');
  if (s != NULL)
  {
    //대소문자의 구분 없이 비교해서 해당하는 charset을 지정한다.
    if (strcasecmp (s, LANG_CHARSET_UTF8))
    {
      lang_Loc_charset = INTL_CODESET_ISO88591;
    }
    else if (strcasecmp (s, LANG_CHARSET_EUCKR))
   {
     lang_Loc_charset = INTL_CODESET_KSC5601_EUC;
   }
    else
    {
      lang_Loc_charset = INTL_CODESET_ISO88591;
    }
  }

  if (LANG_VARIABLE_CHARSET (lang_Loc_charset))
    {
      lang_Loc_bytes_per_char = 2;
    }

  lang_Initialized = true;
  return (lang_Initialized);





 

Posted by redef

댓글을 달아 주세요