1 module speech.windows.localeinfo;
2 
3 import core.sys.windows.windows;
4 
5 // TODO: are these in druntime yet?
6 alias LCID = uint;
7 extern(Windows) int GetLocaleInfoA(LCID, LCTYPE, LPSTR, int);
8 extern(Windows) int GetLocaleInfoW(LCID, LCTYPE, LPWSTR, int);
9 alias GetLocaleInfo GetLocaleInfoA;
10 alias GetLocaleInfo = GetLocaleInfoW;
11 
12 alias LCTYPE = DWORD;
13 
14 enum : LCTYPE {
15 	LOCALE_ILANGUAGE = 1,
16 	LOCALE_SLANGUAGE,
17 	LOCALE_SABBREVLANGNAME,
18 	LOCALE_SNATIVELANGNAME,
19 	LOCALE_ICOUNTRY,
20 	LOCALE_SCOUNTRY,
21 	LOCALE_SABBREVCTRYNAME,
22 	LOCALE_SNATIVECTRYNAME,
23 	LOCALE_IDEFAULTLANGUAGE,
24 	LOCALE_IDEFAULTCOUNTRY,
25 	LOCALE_IDEFAULTCODEPAGE,
26 	LOCALE_SLIST,
27 	LOCALE_IMEASURE,
28 	LOCALE_SDECIMAL,
29 	LOCALE_STHOUSAND,
30 	LOCALE_SGROUPING,
31 	LOCALE_IDIGITS,
32 	LOCALE_ILZERO,
33 	LOCALE_SNATIVEDIGITS,
34 	LOCALE_SCURRENCY,
35 	LOCALE_SINTLSYMBOL,
36 	LOCALE_SMONDECIMALSEP,
37 	LOCALE_SMONTHOUSANDSEP,
38 	LOCALE_SMONGROUPING,
39 	LOCALE_ICURRDIGITS,
40 	LOCALE_IINTLCURRDIGITS,
41 	LOCALE_ICURRENCY,
42 	LOCALE_INEGCURR,
43 	LOCALE_SDATE,
44 	LOCALE_STIME,
45 	LOCALE_SSHORTDATE,
46 	LOCALE_SLONGDATE,
47 	LOCALE_IDATE,
48 	LOCALE_ILDATE,
49 	LOCALE_ITIME,
50 	LOCALE_ICENTURY,
51 	LOCALE_ITLZERO,
52 	LOCALE_IDAYLZERO,
53 	LOCALE_IMONLZERO,
54 	LOCALE_S1159,
55 	LOCALE_S2359,
56 	LOCALE_SDAYNAME1,
57 	LOCALE_SDAYNAME2,
58 	LOCALE_SDAYNAME3,
59 	LOCALE_SDAYNAME4,
60 	LOCALE_SDAYNAME5,
61 	LOCALE_SDAYNAME6,
62 	LOCALE_SDAYNAME7,
63 	LOCALE_SABBREVDAYNAME1,
64 	LOCALE_SABBREVDAYNAME2,
65 	LOCALE_SABBREVDAYNAME3,
66 	LOCALE_SABBREVDAYNAME4,
67 	LOCALE_SABBREVDAYNAME5,
68 	LOCALE_SABBREVDAYNAME6,
69 	LOCALE_SABBREVDAYNAME7,
70 	LOCALE_SMONTHNAME1,
71 	LOCALE_SMONTHNAME2,
72 	LOCALE_SMONTHNAME3,
73 	LOCALE_SMONTHNAME4,
74 	LOCALE_SMONTHNAME5,
75 	LOCALE_SMONTHNAME6,
76 	LOCALE_SMONTHNAME7,
77 	LOCALE_SMONTHNAME8,
78 	LOCALE_SMONTHNAME9,
79 	LOCALE_SMONTHNAME10,
80 	LOCALE_SMONTHNAME11,
81 	LOCALE_SMONTHNAME12,
82 	LOCALE_SABBREVMONTHNAME1,
83 	LOCALE_SABBREVMONTHNAME2,
84 	LOCALE_SABBREVMONTHNAME3,
85 	LOCALE_SABBREVMONTHNAME4,
86 	LOCALE_SABBREVMONTHNAME5,
87 	LOCALE_SABBREVMONTHNAME6,
88 	LOCALE_SABBREVMONTHNAME7,
89 	LOCALE_SABBREVMONTHNAME8,
90 	LOCALE_SABBREVMONTHNAME9,
91 	LOCALE_SABBREVMONTHNAME10,
92 	LOCALE_SABBREVMONTHNAME11,
93 	LOCALE_SABBREVMONTHNAME12,
94 	LOCALE_SPOSITIVESIGN,
95 	LOCALE_SNEGATIVESIGN,
96 	LOCALE_IPOSSIGNPOSN,
97 	LOCALE_INEGSIGNPOSN,
98 	LOCALE_IPOSSYMPRECEDES,
99 	LOCALE_IPOSSEPBYSPACE,
100 	LOCALE_INEGSYMPRECEDES,
101 	LOCALE_INEGSEPBYSPACE,
102 	LOCALE_FONTSIGNATURE,
103 	LOCALE_SISO639LANGNAME,
104 	LOCALE_SISO3166CTRYNAME, // = 90
105 	LOCALE_SENGLANGUAGE         = 0x1001,
106 	LOCALE_SENGCOUNTRY          = 0x1002,
107 	LOCALE_IDEFAULTANSICODEPAGE = 0x1004,
108 	LOCALE_INEGNUMBER           = 0x1010,
109 	LOCALE_STIMEFORMAT          = 0x1003,
110 	LOCALE_ITIMEMARKPOSN        = 0x1005,
111 	LOCALE_ICALENDARTYPE        = 0x1009,
112 	LOCALE_IOPTIONALCALENDAR    = 0x100B,
113 	LOCALE_IFIRSTDAYOFWEEK      = 0x100C,
114 	LOCALE_IFIRSTWEEKOFYEAR     = 0x100D,
115 	LOCALE_SMONTHNAME13         = 0x100E,
116 	LOCALE_SABBREVMONTHNAME13   = 0x100F
117 }