함수명
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);
댓글을 달아 주세요