2 * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 * Copyright (C) 2008 - INRIA - Allan CORNET
4 * Copyright (C) 2008 - Yung-Jang Lee
6 * This file must be used under the terms of the CeCILL.
7 * This source file is licensed as described in the file COPYING, which
8 * you should have received as part of this distribution. The terms
9 * are also available at
10 * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
14 /*--------------------------------------------------------------------------*/
17 #include "getLocaleInfo_Windows.h"
19 /*--------------------------------------------------------------------------*/
20 char* getLocaleSystemInfo(void)
22 #define LENGTH_BUFFER 1024
23 char buffer_LOCALE_SISO639LANGNAME[LENGTH_BUFFER];
24 char buffer_LOCALE_SISO3166CTRYNAME[LENGTH_BUFFER];
25 char *localeStr = NULL;
27 ret = GetLocaleInfo(LOCALE_SYSTEM_DEFAULT,
28 LOCALE_SISO639LANGNAME,
29 &buffer_LOCALE_SISO639LANGNAME[0],
33 ret = GetLocaleInfo(LOCALE_SYSTEM_DEFAULT,
34 LOCALE_SISO3166CTRYNAME,
35 &buffer_LOCALE_SISO3166CTRYNAME[0],
39 int length_localeStr = (int)(strlen(buffer_LOCALE_SISO639LANGNAME)+
40 strlen(buffer_LOCALE_SISO3166CTRYNAME)+
42 localeStr = (char*)MALLOC(sizeof(char)*(length_localeStr)+1);
48 #define FORMAT_LOCALE "%s_%s"
49 sprintf(localeStr,FORMAT_LOCALE,buffer_LOCALE_SISO639LANGNAME,buffer_LOCALE_SISO3166CTRYNAME);
55 /*--------------------------------------------------------------------------*/
56 wchar_t* getLocaleUserInfo(void)
58 #define LENGTH_BUFFER 1024
59 wchar_t buffer_LOCALE_SISO639LANGNAME[LENGTH_BUFFER];
60 wchar_t buffer_LOCALE_SISO3166CTRYNAME[LENGTH_BUFFER];
61 wchar_t buffer_LOCALE_IDEFAULTANSICODEPAGE[LENGTH_BUFFER];
62 wchar_t *localeStr = NULL;
64 ret = GetLocaleInfo(LOCALE_USER_DEFAULT,
65 LOCALE_SISO639LANGNAME,
66 &buffer_LOCALE_SISO639LANGNAME[0],
71 ret = GetLocaleInfo(LOCALE_USER_DEFAULT,
72 LOCALE_SISO3166CTRYNAME,
73 &buffer_LOCALE_SISO3166CTRYNAME[0],
77 // BY YJLee get Windows CODE Page Information
78 int ret = GetLocaleInfo(LOCALE_USER_DEFAULT,
79 LOCALE_IDEFAULTANSICODEPAGE,
80 &buffer_LOCALE_IDEFAULTANSICODEPAGE[0],
83 int length_localeStr = (int)(strlen(buffer_LOCALE_SISO639LANGNAME)+
84 strlen(buffer_LOCALE_SISO3166CTRYNAME)+
85 strlen(buffer_LOCALE_IDEFAULTANSICODEPAGE)+
87 localeStr = (char*)MALLOC(sizeof(char)*(length_localeStr)+1);
93 #define FORMAT_LOCALE "%s_%s.CP%s"
94 // in lang_contry.CPxxx format
95 sprintf(localeStr,FORMAT_LOCALE,
96 buffer_LOCALE_SISO639LANGNAME,
97 buffer_LOCALE_SISO3166CTRYNAME,
98 buffer_LOCALE_IDEFAULTANSICODEPAGE
105 /*--------------------------------------------------------------------------*/