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

댓글을 달아 주세요