1 /* Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
2 
3    This program is free software; you can redistribute it and/or modify
4    it under the terms of the GNU General Public License as published by
5    the Free Software Foundation; version 2 of the License.
6 
7    This program is distributed in the hope that it will be useful,
8    but WITHOUT ANY WARRANTY; without even the implied warranty of
9    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
10    GNU General Public License for more details.
11 
12    You should have received a copy of the GNU General Public License
13    along with this program; if not, write to the Free Software
14    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335  USA */
15 
16 /*
17   The beginnings of locale(7) support.
18   Sponsored for subset of LC_TIME support,  WorkLog entry 2928, -- Josh Chamas
19 
20   !! This file is built from my_locale.pl !!
21 */
22 
23 #include "mariadb.h"
24 #include "sql_priv.h"
25 #include "unireg.h"
26 #include "sql_locale.h"
27 #include "sql_class.h"                          // THD
28 
29 
30 enum err_msgs_index
31 {
32   en_US= 0, cs_CZ, da_DK, nl_NL, et_EE, fr_FR, de_DE, el_GR, hu_HU, it_IT,
33   ja_JP, ko_KR, no_NO, nn_NO, pl_PL, pt_PT, ro_RO, ru_RU, sr_RS,  sk_SK,
34   es_ES, sv_SE, uk_UA, hi_IN
35 } ERR_MSGS_INDEX;
36 
37 
38 MY_LOCALE_ERRMSGS global_errmsgs[]=
39 {
40   {"english", NULL},
41   {"czech", NULL},
42   {"danish", NULL},
43   {"dutch", NULL},
44   {"estonian", NULL},
45   {"french", NULL},
46   {"german", NULL},
47   {"greek", NULL},
48   {"hungarian", NULL},
49   {"italian", NULL},
50   {"japanese", NULL},
51   {"korean", NULL},
52   {"norwegian", NULL},
53   {"norwegian-ny", NULL},
54   {"polish", NULL},
55   {"portuguese", NULL},
56   {"romanian", NULL},
57   {"russian", NULL},
58   {"serbian", NULL},
59   {"slovak", NULL},
60   {"spanish", NULL},
61   {"swedish", NULL},
62   {"ukrainian", NULL},
63   {"hindi", NULL},
64   {NULL, NULL}
65 };
66 
67 
68 /***** LOCALE BEGIN ar_AE: Arabic - United Arab Emirates *****/
69 static const char *my_locale_month_names_ar_AE[13] =
70  {"يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر", NullS };
71 static const char *my_locale_ab_month_names_ar_AE[13] =
72  {"ينا","فبر","مار","أبر","ماي","يون","يول","أغس","سبت","أكت","نوف","ديس", NullS };
73 static const char *my_locale_day_names_ar_AE[8] =
74  {"الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت ","الأحد", NullS };
75 static const char *my_locale_ab_day_names_ar_AE[8] =
76  {"ن","ث","ر","خ","ج","س","ح", NullS };
77 static TYPELIB my_locale_typelib_month_names_ar_AE =
78  { array_elements(my_locale_month_names_ar_AE)-1, "", my_locale_month_names_ar_AE, NULL };
79 static TYPELIB my_locale_typelib_ab_month_names_ar_AE =
80  { array_elements(my_locale_ab_month_names_ar_AE)-1, "", my_locale_ab_month_names_ar_AE, NULL };
81 static TYPELIB my_locale_typelib_day_names_ar_AE =
82  { array_elements(my_locale_day_names_ar_AE)-1, "", my_locale_day_names_ar_AE, NULL };
83 static TYPELIB my_locale_typelib_ab_day_names_ar_AE =
84  { array_elements(my_locale_ab_day_names_ar_AE)-1, "", my_locale_ab_day_names_ar_AE, NULL };
85 MY_LOCALE my_locale_ar_AE
86 (
87   6,
88   "ar_AE",
89   "Arabic - United Arab Emirates",
90   FALSE,
91   &my_locale_typelib_month_names_ar_AE,
92   &my_locale_typelib_ab_month_names_ar_AE,
93   &my_locale_typelib_day_names_ar_AE,
94   &my_locale_typelib_ab_day_names_ar_AE,
95   6,
96   8,
97   '.',        /* decimal point ar_AE */
98   ',',        /* thousands_sep ar_AE */
99   "\x03",     /* grouping      ar_AE */
100   &global_errmsgs[en_US]
101 );
102 /***** LOCALE END ar_AE *****/
103 
104 /***** LOCALE BEGIN ar_BH: Arabic - Bahrain *****/
105 static const char *my_locale_month_names_ar_BH[13] =
106  {"يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر", NullS };
107 static const char *my_locale_ab_month_names_ar_BH[13] =
108  {"ينا","فبر","مار","أبر","ماي","يون","يول","أغس","سبت","أكت","نوف","ديس", NullS };
109 static const char *my_locale_day_names_ar_BH[8] =
110  {"الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت","الأحد", NullS };
111 static const char *my_locale_ab_day_names_ar_BH[8] =
112  {"ن","ث","ر","خ","ج","س","ح", NullS };
113 static TYPELIB my_locale_typelib_month_names_ar_BH =
114  { array_elements(my_locale_month_names_ar_BH)-1, "", my_locale_month_names_ar_BH, NULL };
115 static TYPELIB my_locale_typelib_ab_month_names_ar_BH =
116  { array_elements(my_locale_ab_month_names_ar_BH)-1, "", my_locale_ab_month_names_ar_BH, NULL };
117 static TYPELIB my_locale_typelib_day_names_ar_BH =
118  { array_elements(my_locale_day_names_ar_BH)-1, "", my_locale_day_names_ar_BH, NULL };
119 static TYPELIB my_locale_typelib_ab_day_names_ar_BH =
120  { array_elements(my_locale_ab_day_names_ar_BH)-1, "", my_locale_ab_day_names_ar_BH, NULL };
121 MY_LOCALE my_locale_ar_BH
122 (
123   7,
124   "ar_BH",
125   "Arabic - Bahrain",
126   FALSE,
127   &my_locale_typelib_month_names_ar_BH,
128   &my_locale_typelib_ab_month_names_ar_BH,
129   &my_locale_typelib_day_names_ar_BH,
130   &my_locale_typelib_ab_day_names_ar_BH,
131   6,
132   8,
133   '.',        /* decimal point ar_BH */
134   ',',        /* thousands_sep ar_BH */
135   "\x03",     /* grouping      ar_BH */
136   &global_errmsgs[en_US]
137 );
138 /***** LOCALE END ar_BH *****/
139 
140 /***** LOCALE BEGIN ar_JO: Arabic - Jordan *****/
141 static const char *my_locale_month_names_ar_JO[13] =
142  {"كانون الثاني","شباط","آذار","نيسان","نوار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول", NullS };
143 static const char *my_locale_ab_month_names_ar_JO[13] =
144  {"كانون الثاني","شباط","آذار","نيسان","نوار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول", NullS };
145 static const char *my_locale_day_names_ar_JO[8] =
146  {"الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت","الأحد", NullS };
147 static const char *my_locale_ab_day_names_ar_JO[8] =
148  {"الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت","الأحد", NullS };
149 static TYPELIB my_locale_typelib_month_names_ar_JO =
150  { array_elements(my_locale_month_names_ar_JO)-1, "", my_locale_month_names_ar_JO, NULL };
151 static TYPELIB my_locale_typelib_ab_month_names_ar_JO =
152  { array_elements(my_locale_ab_month_names_ar_JO)-1, "", my_locale_ab_month_names_ar_JO, NULL };
153 static TYPELIB my_locale_typelib_day_names_ar_JO =
154  { array_elements(my_locale_day_names_ar_JO)-1, "", my_locale_day_names_ar_JO, NULL };
155 static TYPELIB my_locale_typelib_ab_day_names_ar_JO =
156  { array_elements(my_locale_ab_day_names_ar_JO)-1, "", my_locale_ab_day_names_ar_JO, NULL };
157 MY_LOCALE my_locale_ar_JO
158 (
159   8,
160   "ar_JO",
161   "Arabic - Jordan",
162   FALSE,
163   &my_locale_typelib_month_names_ar_JO,
164   &my_locale_typelib_ab_month_names_ar_JO,
165   &my_locale_typelib_day_names_ar_JO,
166   &my_locale_typelib_ab_day_names_ar_JO,
167   12,
168   8,
169   '.',        /* decimal point ar_JO */
170   ',',        /* thousands_sep ar_JO */
171   "\x03",     /* grouping      ar_JO */
172   &global_errmsgs[en_US]
173 );
174 /***** LOCALE END ar_JO *****/
175 
176 /***** LOCALE BEGIN ar_SA: Arabic - Saudi Arabia *****/
177 static const char *my_locale_month_names_ar_SA[13] =
178  {"كانون الثاني","شباط","آذار","نيسـان","أيار","حزيران","تـمـوز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول", NullS };
179 static const char *my_locale_ab_month_names_ar_SA[13] =
180  {"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec", NullS };
181 static const char *my_locale_day_names_ar_SA[8] =
182  {"الإثنين","الثلاثاء","الأربعاء","الخميس","الجمعـة","السبت","الأحد", NullS };
183 static const char *my_locale_ab_day_names_ar_SA[8] =
184  {"Mon","Tue","Wed","Thu","Fri","Sat","Sun", NullS };
185 static TYPELIB my_locale_typelib_month_names_ar_SA =
186  { array_elements(my_locale_month_names_ar_SA)-1, "", my_locale_month_names_ar_SA, NULL };
187 static TYPELIB my_locale_typelib_ab_month_names_ar_SA =
188  { array_elements(my_locale_ab_month_names_ar_SA)-1, "", my_locale_ab_month_names_ar_SA, NULL };
189 static TYPELIB my_locale_typelib_day_names_ar_SA =
190  { array_elements(my_locale_day_names_ar_SA)-1, "", my_locale_day_names_ar_SA, NULL };
191 static TYPELIB my_locale_typelib_ab_day_names_ar_SA =
192  { array_elements(my_locale_ab_day_names_ar_SA)-1, "", my_locale_ab_day_names_ar_SA, NULL };
193 MY_LOCALE my_locale_ar_SA
194 (
195   9,
196   "ar_SA",
197   "Arabic - Saudi Arabia",
198   FALSE,
199   &my_locale_typelib_month_names_ar_SA,
200   &my_locale_typelib_ab_month_names_ar_SA,
201   &my_locale_typelib_day_names_ar_SA,
202   &my_locale_typelib_ab_day_names_ar_SA,
203   12,
204   8,
205   '.',        /* decimal point ar_SA */
206   '\0',       /* thousands_sep ar_SA */
207   "\x80",     /* grouping      ar_SA */
208   &global_errmsgs[en_US]
209 );
210 /***** LOCALE END ar_SA *****/
211 
212 /***** LOCALE BEGIN ar_SY: Arabic - Syria *****/
213 static const char *my_locale_month_names_ar_SY[13] =
214  {"كانون الثاني","شباط","آذار","نيسان","نواران","حزير","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول", NullS };
215 static const char *my_locale_ab_month_names_ar_SY[13] =
216  {"كانون الثاني","شباط","آذار","نيسان","نوار","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول", NullS };
217 static const char *my_locale_day_names_ar_SY[8] =
218  {"الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت","الأحد", NullS };
219 static const char *my_locale_ab_day_names_ar_SY[8] =
220  {"الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت","الأحد", NullS };
221 static TYPELIB my_locale_typelib_month_names_ar_SY =
222  { array_elements(my_locale_month_names_ar_SY)-1, "", my_locale_month_names_ar_SY, NULL };
223 static TYPELIB my_locale_typelib_ab_month_names_ar_SY =
224  { array_elements(my_locale_ab_month_names_ar_SY)-1, "", my_locale_ab_month_names_ar_SY, NULL };
225 static TYPELIB my_locale_typelib_day_names_ar_SY =
226  { array_elements(my_locale_day_names_ar_SY)-1, "", my_locale_day_names_ar_SY, NULL };
227 static TYPELIB my_locale_typelib_ab_day_names_ar_SY =
228  { array_elements(my_locale_ab_day_names_ar_SY)-1, "", my_locale_ab_day_names_ar_SY, NULL };
229 MY_LOCALE my_locale_ar_SY
230 (
231   10,
232   "ar_SY",
233   "Arabic - Syria",
234   FALSE,
235   &my_locale_typelib_month_names_ar_SY,
236   &my_locale_typelib_ab_month_names_ar_SY,
237   &my_locale_typelib_day_names_ar_SY,
238   &my_locale_typelib_ab_day_names_ar_SY,
239   12,
240   8,
241   '.',        /* decimal point ar_SY */
242   ',',        /* thousands_sep ar_SY */
243   "\x03",     /* grouping      ar_SY */
244   &global_errmsgs[en_US]
245 );
246 /***** LOCALE END ar_SY *****/
247 
248 /***** LOCALE BEGIN be_BY: Belarusian - Belarus *****/
249 static const char *my_locale_month_names_be_BY[13] =
250  {"Студзень","Люты","Сакавік","Красавік","Травень","Чэрвень","Ліпень","Жнівень","Верасень","Кастрычнік","Лістапад","Снежань", NullS };
251 static const char *my_locale_ab_month_names_be_BY[13] =
252  {"Стд","Лют","Сак","Крс","Тра","Чэр","Ліп","Жнв","Врс","Кст","Ліс","Снж", NullS };
253 static const char *my_locale_day_names_be_BY[8] =
254  {"Панядзелак","Аўторак","Серада","Чацвер","Пятніца","Субота","Нядзеля", NullS };
255 static const char *my_locale_ab_day_names_be_BY[8] =
256  {"Пан","Аўт","Срд","Чцв","Пят","Суб","Няд", NullS };
257 static TYPELIB my_locale_typelib_month_names_be_BY =
258  { array_elements(my_locale_month_names_be_BY)-1, "", my_locale_month_names_be_BY, NULL };
259 static TYPELIB my_locale_typelib_ab_month_names_be_BY =
260  { array_elements(my_locale_ab_month_names_be_BY)-1, "", my_locale_ab_month_names_be_BY, NULL };
261 static TYPELIB my_locale_typelib_day_names_be_BY =
262  { array_elements(my_locale_day_names_be_BY)-1, "", my_locale_day_names_be_BY, NULL };
263 static TYPELIB my_locale_typelib_ab_day_names_be_BY =
264  { array_elements(my_locale_ab_day_names_be_BY)-1, "", my_locale_ab_day_names_be_BY, NULL };
265 MY_LOCALE my_locale_be_BY
266 (
267   11,
268   "be_BY",
269   "Belarusian - Belarus",
270   FALSE,
271   &my_locale_typelib_month_names_be_BY,
272   &my_locale_typelib_ab_month_names_be_BY,
273   &my_locale_typelib_day_names_be_BY,
274   &my_locale_typelib_ab_day_names_be_BY,
275   10,
276   10,
277   ',',        /* decimal point be_BY */
278   '.',        /* thousands_sep be_BY */
279   "\x03\x03", /* grouping      be_BY */
280   &global_errmsgs[en_US]
281 );
282 /***** LOCALE END be_BY *****/
283 
284 /***** LOCALE BEGIN bg_BG: Bulgarian - Bulgaria *****/
285 static const char *my_locale_month_names_bg_BG[13] =
286  {"януари","февруари","март","април","май","юни","юли","август","септември","октомври","ноември","декември", NullS };
287 static const char *my_locale_ab_month_names_bg_BG[13] =
288  {"яну","фев","мар","апр","май","юни","юли","авг","сеп","окт","ное","дек", NullS };
289 static const char *my_locale_day_names_bg_BG[8] =
290  {"понеделник","вторник","сряда","четвъртък","петък","събота","неделя", NullS };
291 static const char *my_locale_ab_day_names_bg_BG[8] =
292  {"пн","вт","ср","чт","пт","сб","нд", NullS };
293 static TYPELIB my_locale_typelib_month_names_bg_BG =
294  { array_elements(my_locale_month_names_bg_BG)-1, "", my_locale_month_names_bg_BG, NULL };
295 static TYPELIB my_locale_typelib_ab_month_names_bg_BG =
296  { array_elements(my_locale_ab_month_names_bg_BG)-1, "", my_locale_ab_month_names_bg_BG, NULL };
297 static TYPELIB my_locale_typelib_day_names_bg_BG =
298  { array_elements(my_locale_day_names_bg_BG)-1, "", my_locale_day_names_bg_BG, NULL };
299 static TYPELIB my_locale_typelib_ab_day_names_bg_BG =
300  { array_elements(my_locale_ab_day_names_bg_BG)-1, "", my_locale_ab_day_names_bg_BG, NULL };
301 MY_LOCALE my_locale_bg_BG
302 (
303   12,
304   "bg_BG",
305   "Bulgarian - Bulgaria",
306   FALSE,
307   &my_locale_typelib_month_names_bg_BG,
308   &my_locale_typelib_ab_month_names_bg_BG,
309   &my_locale_typelib_day_names_bg_BG,
310   &my_locale_typelib_ab_day_names_bg_BG,
311   9,
312   10,
313   ',',        /* decimal point bg_BG */
314   '\0',       /* thousands_sep bg_BG */
315   "\x03\x03", /* grouping      bg_BG */
316   &global_errmsgs[en_US]
317 );
318 /***** LOCALE END bg_BG *****/
319 
320 /***** LOCALE BEGIN ca_ES: Catalan - Catalan *****/
321 static const char *my_locale_month_names_ca_ES[13] =
322  {"gener","febrer","març","abril","maig","juny","juliol","agost","setembre","octubre","novembre","desembre", NullS };
323 static const char *my_locale_ab_month_names_ca_ES[13] =
324  {"gen","feb","mar","abr","mai","jun","jul","ago","set","oct","nov","des", NullS };
325 static const char *my_locale_day_names_ca_ES[8] =
326  {"dilluns","dimarts","dimecres","dijous","divendres","dissabte","diumenge", NullS };
327 static const char *my_locale_ab_day_names_ca_ES[8] =
328  {"dl","dt","dc","dj","dv","ds","dg", NullS };
329 static TYPELIB my_locale_typelib_month_names_ca_ES =
330  { array_elements(my_locale_month_names_ca_ES)-1, "", my_locale_month_names_ca_ES, NULL };
331 static TYPELIB my_locale_typelib_ab_month_names_ca_ES =
332  { array_elements(my_locale_ab_month_names_ca_ES)-1, "", my_locale_ab_month_names_ca_ES, NULL };
333 static TYPELIB my_locale_typelib_day_names_ca_ES =
334  { array_elements(my_locale_day_names_ca_ES)-1, "", my_locale_day_names_ca_ES, NULL };
335 static TYPELIB my_locale_typelib_ab_day_names_ca_ES =
336  { array_elements(my_locale_ab_day_names_ca_ES)-1, "", my_locale_ab_day_names_ca_ES, NULL };
337 MY_LOCALE my_locale_ca_ES
338 (
339   13,
340   "ca_ES",
341   "Catalan - Catalan",
342   FALSE,
343   &my_locale_typelib_month_names_ca_ES,
344   &my_locale_typelib_ab_month_names_ca_ES,
345   &my_locale_typelib_day_names_ca_ES,
346   &my_locale_typelib_ab_day_names_ca_ES,
347   8,
348   9,
349   ',',        /* decimal point ca_ES */
350   '\0',       /* thousands_sep ca_ES */
351   "\x80\x80", /* grouping      ca_ES */
352   &global_errmsgs[en_US]
353 );
354 /***** LOCALE END ca_ES *****/
355 
356 /***** LOCALE BEGIN cs_CZ: Czech - Czech Republic *****/
357 static const char *my_locale_month_names_cs_CZ[13] =
358  {"leden","únor","březen","duben","květen","červen","červenec","srpen","září","říjen","listopad","prosinec", NullS };
359 static const char *my_locale_ab_month_names_cs_CZ[13] =
360  {"led","úno","bře","dub","kvě","čen","čec","srp","zář","říj","lis","pro", NullS };
361 static const char *my_locale_day_names_cs_CZ[8] =
362  {"Pondělí","Úterý","Středa","Čtvrtek","Pátek","Sobota","Neděle", NullS };
363 static const char *my_locale_ab_day_names_cs_CZ[8] =
364  {"Po","Út","St","Čt","Pá","So","Ne", NullS };
365 static TYPELIB my_locale_typelib_month_names_cs_CZ =
366  { array_elements(my_locale_month_names_cs_CZ)-1, "", my_locale_month_names_cs_CZ, NULL };
367 static TYPELIB my_locale_typelib_ab_month_names_cs_CZ =
368  { array_elements(my_locale_ab_month_names_cs_CZ)-1, "", my_locale_ab_month_names_cs_CZ, NULL };
369 static TYPELIB my_locale_typelib_day_names_cs_CZ =
370  { array_elements(my_locale_day_names_cs_CZ)-1, "", my_locale_day_names_cs_CZ, NULL };
371 static TYPELIB my_locale_typelib_ab_day_names_cs_CZ =
372  { array_elements(my_locale_ab_day_names_cs_CZ)-1, "", my_locale_ab_day_names_cs_CZ, NULL };
373 MY_LOCALE my_locale_cs_CZ
374 (
375   14,
376   "cs_CZ",
377   "Czech - Czech Republic",
378   FALSE,
379   &my_locale_typelib_month_names_cs_CZ,
380   &my_locale_typelib_ab_month_names_cs_CZ,
381   &my_locale_typelib_day_names_cs_CZ,
382   &my_locale_typelib_ab_day_names_cs_CZ,
383   8,
384   7,
385   ',',        /* decimal point cs_CZ */
386   ' ',        /* thousands_sep cs_CZ */
387   "\x03\x03", /* grouping      cs_CZ */
388   &global_errmsgs[cs_CZ]
389 );
390 /***** LOCALE END cs_CZ *****/
391 
392 /***** LOCALE BEGIN da_DK: Danish - Denmark *****/
393 static const char *my_locale_month_names_da_DK[13] =
394  {"januar","februar","marts","april","maj","juni","juli","august","september","oktober","november","december", NullS };
395 static const char *my_locale_ab_month_names_da_DK[13] =
396  {"jan","feb","mar","apr","maj","jun","jul","aug","sep","okt","nov","dec", NullS };
397 static const char *my_locale_day_names_da_DK[8] =
398  {"mandag","tirsdag","onsdag","torsdag","fredag","lørdag","søndag", NullS };
399 static const char *my_locale_ab_day_names_da_DK[8] =
400  {"man","tir","ons","tor","fre","lør","søn", NullS };
401 static TYPELIB my_locale_typelib_month_names_da_DK =
402  { array_elements(my_locale_month_names_da_DK)-1, "", my_locale_month_names_da_DK, NULL };
403 static TYPELIB my_locale_typelib_ab_month_names_da_DK =
404  { array_elements(my_locale_ab_month_names_da_DK)-1, "", my_locale_ab_month_names_da_DK, NULL };
405 static TYPELIB my_locale_typelib_day_names_da_DK =
406  { array_elements(my_locale_day_names_da_DK)-1, "", my_locale_day_names_da_DK, NULL };
407 static TYPELIB my_locale_typelib_ab_day_names_da_DK =
408  { array_elements(my_locale_ab_day_names_da_DK)-1, "", my_locale_ab_day_names_da_DK, NULL };
409 MY_LOCALE my_locale_da_DK
410 (
411   15,
412   "da_DK",
413   "Danish - Denmark",
414   FALSE,
415   &my_locale_typelib_month_names_da_DK,
416   &my_locale_typelib_ab_month_names_da_DK,
417   &my_locale_typelib_day_names_da_DK,
418   &my_locale_typelib_ab_day_names_da_DK,
419   9,
420   7,
421   ',',        /* decimal point da_DK */
422   '.',        /* thousands_sep da_DK */
423   "\x03\x03", /* grouping      da_DK */
424   &global_errmsgs[da_DK]
425 );
426 /***** LOCALE END da_DK *****/
427 
428 /***** LOCALE BEGIN de_AT: German - Austria *****/
429 static const char *my_locale_month_names_de_AT[13] =
430  {"Jänner","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember", NullS };
431 static const char *my_locale_ab_month_names_de_AT[13] =
432  {"Jän","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez", NullS };
433 static const char *my_locale_day_names_de_AT[8] =
434  {"Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag","Sonntag", NullS };
435 static const char *my_locale_ab_day_names_de_AT[8] =
436  {"Mon","Die","Mit","Don","Fre","Sam","Son", NullS };
437 static TYPELIB my_locale_typelib_month_names_de_AT =
438  { array_elements(my_locale_month_names_de_AT)-1, "", my_locale_month_names_de_AT, NULL };
439 static TYPELIB my_locale_typelib_ab_month_names_de_AT =
440  { array_elements(my_locale_ab_month_names_de_AT)-1, "", my_locale_ab_month_names_de_AT, NULL };
441 static TYPELIB my_locale_typelib_day_names_de_AT =
442  { array_elements(my_locale_day_names_de_AT)-1, "", my_locale_day_names_de_AT, NULL };
443 static TYPELIB my_locale_typelib_ab_day_names_de_AT =
444  { array_elements(my_locale_ab_day_names_de_AT)-1, "", my_locale_ab_day_names_de_AT, NULL };
445 MY_LOCALE my_locale_de_AT
446 (
447   16,
448   "de_AT",
449   "German - Austria",
450   FALSE,
451   &my_locale_typelib_month_names_de_AT,
452   &my_locale_typelib_ab_month_names_de_AT,
453   &my_locale_typelib_day_names_de_AT,
454   &my_locale_typelib_ab_day_names_de_AT,
455   9,
456   10,
457   ',',        /* decimal point de_AT */
458   '\0',       /* thousands_sep de_AT */
459   "\x80\x80", /* grouping      de_AT */
460   &global_errmsgs[de_DE]
461 );
462 /***** LOCALE END de_AT *****/
463 
464 /***** LOCALE BEGIN de_DE: German - Germany *****/
465 static const char *my_locale_month_names_de_DE[13] =
466  {"Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember", NullS };
467 static const char *my_locale_ab_month_names_de_DE[13] =
468  {"Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez", NullS };
469 static const char *my_locale_day_names_de_DE[8] =
470  {"Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag","Sonntag", NullS };
471 static const char *my_locale_ab_day_names_de_DE[8] =
472  {"Mo","Di","Mi","Do","Fr","Sa","So", NullS };
473 static TYPELIB my_locale_typelib_month_names_de_DE =
474  { array_elements(my_locale_month_names_de_DE)-1, "", my_locale_month_names_de_DE, NULL };
475 static TYPELIB my_locale_typelib_ab_month_names_de_DE =
476  { array_elements(my_locale_ab_month_names_de_DE)-1, "", my_locale_ab_month_names_de_DE, NULL };
477 static TYPELIB my_locale_typelib_day_names_de_DE =
478  { array_elements(my_locale_day_names_de_DE)-1, "", my_locale_day_names_de_DE, NULL };
479 static TYPELIB my_locale_typelib_ab_day_names_de_DE =
480  { array_elements(my_locale_ab_day_names_de_DE)-1, "", my_locale_ab_day_names_de_DE, NULL };
481 MY_LOCALE my_locale_de_DE
482 (
483   4,
484   "de_DE",
485   "German - Germany",
486   FALSE,
487   &my_locale_typelib_month_names_de_DE,
488   &my_locale_typelib_ab_month_names_de_DE,
489   &my_locale_typelib_day_names_de_DE,
490   &my_locale_typelib_ab_day_names_de_DE,
491   9,
492   10,
493   ',',        /* decimal point de_DE */
494   '.',        /* thousands_sep de_DE */
495   "\x03\x03", /* grouping      de_DE */
496   &global_errmsgs[de_DE]
497 );
498 /***** LOCALE END de_DE *****/
499 
500 /***** LOCALE BEGIN en_US: English - United States *****/
501 static const char *my_locale_month_names_en_US[13] =
502  {"January","February","March","April","May","June","July","August","September","October","November","December", NullS };
503 static const char *my_locale_ab_month_names_en_US[13] =
504  {"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec", NullS };
505 static const char *my_locale_day_names_en_US[8] =
506  {"Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday", NullS };
507 static const char *my_locale_ab_day_names_en_US[8] =
508  {"Mon","Tue","Wed","Thu","Fri","Sat","Sun", NullS };
509 static TYPELIB my_locale_typelib_month_names_en_US =
510  { array_elements(my_locale_month_names_en_US)-1, "", my_locale_month_names_en_US, NULL };
511 static TYPELIB my_locale_typelib_ab_month_names_en_US =
512  { array_elements(my_locale_ab_month_names_en_US)-1, "", my_locale_ab_month_names_en_US, NULL };
513 static TYPELIB my_locale_typelib_day_names_en_US =
514  { array_elements(my_locale_day_names_en_US)-1, "", my_locale_day_names_en_US, NULL };
515 static TYPELIB my_locale_typelib_ab_day_names_en_US =
516  { array_elements(my_locale_ab_day_names_en_US)-1, "", my_locale_ab_day_names_en_US, NULL };
517 MY_LOCALE my_locale_en_US
518 (
519   0,
520   "en_US",
521   "English - United States",
522   TRUE,
523   &my_locale_typelib_month_names_en_US,
524   &my_locale_typelib_ab_month_names_en_US,
525   &my_locale_typelib_day_names_en_US,
526   &my_locale_typelib_ab_day_names_en_US,
527   9,
528   9,
529   '.',        /* decimal point en_US */
530   ',',        /* thousands_sep en_US */
531   "\x03\x03", /* grouping      en_US */
532   &global_errmsgs[en_US]
533 );
534 /***** LOCALE END en_US *****/
535 
536 /***** LOCALE BEGIN es_ES: Spanish - Spain *****/
537 static const char *my_locale_month_names_es_ES[13] =
538  {"enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre", NullS };
539 static const char *my_locale_ab_month_names_es_ES[13] =
540  {"ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic", NullS };
541 static const char *my_locale_day_names_es_ES[8] =
542  {"lunes","martes","miércoles","jueves","viernes","sábado","domingo", NullS };
543 static const char *my_locale_ab_day_names_es_ES[8] =
544  {"lun","mar","mié","jue","vie","sáb","dom", NullS };
545 static TYPELIB my_locale_typelib_month_names_es_ES =
546  { array_elements(my_locale_month_names_es_ES)-1, "", my_locale_month_names_es_ES, NULL };
547 static TYPELIB my_locale_typelib_ab_month_names_es_ES =
548  { array_elements(my_locale_ab_month_names_es_ES)-1, "", my_locale_ab_month_names_es_ES, NULL };
549 static TYPELIB my_locale_typelib_day_names_es_ES =
550  { array_elements(my_locale_day_names_es_ES)-1, "", my_locale_day_names_es_ES, NULL };
551 static TYPELIB my_locale_typelib_ab_day_names_es_ES =
552  { array_elements(my_locale_ab_day_names_es_ES)-1, "", my_locale_ab_day_names_es_ES, NULL };
553 MY_LOCALE my_locale_es_ES
554 (
555   17,
556   "es_ES",
557   "Spanish - Spain",
558   FALSE,
559   &my_locale_typelib_month_names_es_ES,
560   &my_locale_typelib_ab_month_names_es_ES,
561   &my_locale_typelib_day_names_es_ES,
562   &my_locale_typelib_ab_day_names_es_ES,
563   10,
564   9,
565   ',',        /* decimal point es_ES */
566   '.',        /* thousands_sep es_ES */
567   "\x03\x03", /* grouping      es_ES */
568   &global_errmsgs[es_ES]
569 );
570 /***** LOCALE END es_ES *****/
571 
572 /***** LOCALE BEGIN et_EE: Estonian - Estonia *****/
573 static const char *my_locale_month_names_et_EE[13] =
574  {"jaanuar","veebruar","märts","aprill","mai","juuni","juuli","august","september","oktoober","november","detsember", NullS };
575 static const char *my_locale_ab_month_names_et_EE[13] =
576  {"jaan ","veebr","märts","apr  ","mai  ","juuni","juuli","aug  ","sept ","okt  ","nov  ","dets ", NullS };
577 static const char *my_locale_day_names_et_EE[8] =
578  {"esmaspäev","teisipäev","kolmapäev","neljapäev","reede","laupäev","pühapäev", NullS };
579 static const char *my_locale_ab_day_names_et_EE[8] =
580  {"E","T","K","N","R","L","P", NullS };
581 static TYPELIB my_locale_typelib_month_names_et_EE =
582  { array_elements(my_locale_month_names_et_EE)-1, "", my_locale_month_names_et_EE, NULL };
583 static TYPELIB my_locale_typelib_ab_month_names_et_EE =
584  { array_elements(my_locale_ab_month_names_et_EE)-1, "", my_locale_ab_month_names_et_EE, NULL };
585 static TYPELIB my_locale_typelib_day_names_et_EE =
586  { array_elements(my_locale_day_names_et_EE)-1, "", my_locale_day_names_et_EE, NULL };
587 static TYPELIB my_locale_typelib_ab_day_names_et_EE =
588  { array_elements(my_locale_ab_day_names_et_EE)-1, "", my_locale_ab_day_names_et_EE, NULL };
589 MY_LOCALE my_locale_et_EE
590 (
591   18,
592   "et_EE",
593   "Estonian - Estonia",
594   FALSE,
595   &my_locale_typelib_month_names_et_EE,
596   &my_locale_typelib_ab_month_names_et_EE,
597   &my_locale_typelib_day_names_et_EE,
598   &my_locale_typelib_ab_day_names_et_EE,
599   9,
600   9,
601   ',',        /* decimal point et_EE */
602   ' ',        /* thousands_sep et_EE */
603   "\x03\x03", /* grouping      et_EE */
604   &global_errmsgs[et_EE]
605 );
606 /***** LOCALE END et_EE *****/
607 
608 /***** LOCALE BEGIN eu_ES: Basque - Basque *****/
609 static const char *my_locale_month_names_eu_ES[13] =
610  {"urtarrila","otsaila","martxoa","apirila","maiatza","ekaina","uztaila","abuztua","iraila","urria","azaroa","abendua", NullS };
611 static const char *my_locale_ab_month_names_eu_ES[13] =
612  {"urt","ots","mar","api","mai","eka","uzt","abu","ira","urr","aza","abe", NullS };
613 static const char *my_locale_day_names_eu_ES[8] =
614  {"astelehena","asteartea","asteazkena","osteguna","ostirala","larunbata","igandea", NullS };
615 static const char *my_locale_ab_day_names_eu_ES[8] =
616  {"al.","ar.","az.","og.","or.","lr.","ig.", NullS };
617 static TYPELIB my_locale_typelib_month_names_eu_ES =
618  { array_elements(my_locale_month_names_eu_ES)-1, "", my_locale_month_names_eu_ES, NULL };
619 static TYPELIB my_locale_typelib_ab_month_names_eu_ES =
620  { array_elements(my_locale_ab_month_names_eu_ES)-1, "", my_locale_ab_month_names_eu_ES, NULL };
621 static TYPELIB my_locale_typelib_day_names_eu_ES =
622  { array_elements(my_locale_day_names_eu_ES)-1, "", my_locale_day_names_eu_ES, NULL };
623 static TYPELIB my_locale_typelib_ab_day_names_eu_ES =
624  { array_elements(my_locale_ab_day_names_eu_ES)-1, "", my_locale_ab_day_names_eu_ES, NULL };
625 MY_LOCALE my_locale_eu_ES
626 (
627   19,
628   "eu_ES",
629   "Basque - Basque",
630   TRUE,
631   &my_locale_typelib_month_names_eu_ES,
632   &my_locale_typelib_ab_month_names_eu_ES,
633   &my_locale_typelib_day_names_eu_ES,
634   &my_locale_typelib_ab_day_names_eu_ES,
635   9,
636   10,
637   ',',        /* decimal point eu_ES */
638   '\0',       /* thousands_sep eu_ES */
639   "\x80\x80", /* grouping      eu_ES */
640   &global_errmsgs[en_US]
641 );
642 /***** LOCALE END eu_ES *****/
643 
644 /***** LOCALE BEGIN fi_FI: Finnish - Finland *****/
645 static const char *my_locale_month_names_fi_FI[13] =
646  {"tammikuu","helmikuu","maaliskuu","huhtikuu","toukokuu","kesäkuu","heinäkuu","elokuu","syyskuu","lokakuu","marraskuu","joulukuu", NullS };
647 static const char *my_locale_ab_month_names_fi_FI[13] =
648  {"tammi ","helmi ","maalis","huhti ","touko ","kesä  ","heinä ","elo   ","syys  ","loka  ","marras","joulu ", NullS };
649 static const char *my_locale_day_names_fi_FI[8] =
650  {"maanantai","tiistai","keskiviikko","torstai","perjantai","lauantai","sunnuntai", NullS };
651 static const char *my_locale_ab_day_names_fi_FI[8] =
652  {"ma","ti","ke","to","pe","la","su", NullS };
653 static TYPELIB my_locale_typelib_month_names_fi_FI =
654  { array_elements(my_locale_month_names_fi_FI)-1, "", my_locale_month_names_fi_FI, NULL };
655 static TYPELIB my_locale_typelib_ab_month_names_fi_FI =
656  { array_elements(my_locale_ab_month_names_fi_FI)-1, "", my_locale_ab_month_names_fi_FI, NULL };
657 static TYPELIB my_locale_typelib_day_names_fi_FI =
658  { array_elements(my_locale_day_names_fi_FI)-1, "", my_locale_day_names_fi_FI, NULL };
659 static TYPELIB my_locale_typelib_ab_day_names_fi_FI =
660  { array_elements(my_locale_ab_day_names_fi_FI)-1, "", my_locale_ab_day_names_fi_FI, NULL };
661 MY_LOCALE my_locale_fi_FI
662 (
663   20,
664   "fi_FI",
665   "Finnish - Finland",
666   FALSE,
667   &my_locale_typelib_month_names_fi_FI,
668   &my_locale_typelib_ab_month_names_fi_FI,
669   &my_locale_typelib_day_names_fi_FI,
670   &my_locale_typelib_ab_day_names_fi_FI,
671   9,
672   11,
673   ',',        /* decimal point fi_FI */
674   ' ',        /* thousands_sep fi_FI */
675   "\x03\x03", /* grouping      fi_FI */
676   &global_errmsgs[en_US]
677 );
678 /***** LOCALE END fi_FI *****/
679 
680 /***** LOCALE BEGIN fo_FO: Faroese - Faroe Islands *****/
681 static const char *my_locale_month_names_fo_FO[13] =
682  {"januar","februar","mars","apríl","mai","juni","juli","august","september","oktober","november","desember", NullS };
683 static const char *my_locale_ab_month_names_fo_FO[13] =
684  {"jan","feb","mar","apr","mai","jun","jul","aug","sep","okt","nov","des", NullS };
685 static const char *my_locale_day_names_fo_FO[8] =
686  {"mánadagur","týsdagur","mikudagur","hósdagur","fríggjadagur","leygardagur","sunnudagur", NullS };
687 static const char *my_locale_ab_day_names_fo_FO[8] =
688  {"mán","týs","mik","hós","frí","ley","sun", NullS };
689 static TYPELIB my_locale_typelib_month_names_fo_FO =
690  { array_elements(my_locale_month_names_fo_FO)-1, "", my_locale_month_names_fo_FO, NULL };
691 static TYPELIB my_locale_typelib_ab_month_names_fo_FO =
692  { array_elements(my_locale_ab_month_names_fo_FO)-1, "", my_locale_ab_month_names_fo_FO, NULL };
693 static TYPELIB my_locale_typelib_day_names_fo_FO =
694  { array_elements(my_locale_day_names_fo_FO)-1, "", my_locale_day_names_fo_FO, NULL };
695 static TYPELIB my_locale_typelib_ab_day_names_fo_FO =
696  { array_elements(my_locale_ab_day_names_fo_FO)-1, "", my_locale_ab_day_names_fo_FO, NULL };
697 MY_LOCALE my_locale_fo_FO
698 (
699   21,
700   "fo_FO",
701   "Faroese - Faroe Islands",
702   FALSE,
703   &my_locale_typelib_month_names_fo_FO,
704   &my_locale_typelib_ab_month_names_fo_FO,
705   &my_locale_typelib_day_names_fo_FO,
706   &my_locale_typelib_ab_day_names_fo_FO,
707   9,
708   12,
709   ',',        /* decimal point fo_FO */
710   '.',        /* thousands_sep fo_FO */
711   "\x03\x03", /* grouping      fo_FO */
712   &global_errmsgs[en_US]
713 );
714 /***** LOCALE END fo_FO *****/
715 
716 /***** LOCALE BEGIN fr_FR: French - France *****/
717 static const char *my_locale_month_names_fr_FR[13] =
718  {"janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre", NullS };
719 static const char *my_locale_ab_month_names_fr_FR[13] =
720  {"jan","fév","mar","avr","mai","jun","jui","aoû","sep","oct","nov","déc", NullS };
721 static const char *my_locale_day_names_fr_FR[8] =
722  {"lundi","mardi","mercredi","jeudi","vendredi","samedi","dimanche", NullS };
723 static const char *my_locale_ab_day_names_fr_FR[8] =
724  {"lun","mar","mer","jeu","ven","sam","dim", NullS };
725 static TYPELIB my_locale_typelib_month_names_fr_FR =
726  { array_elements(my_locale_month_names_fr_FR)-1, "", my_locale_month_names_fr_FR, NULL };
727 static TYPELIB my_locale_typelib_ab_month_names_fr_FR =
728  { array_elements(my_locale_ab_month_names_fr_FR)-1, "", my_locale_ab_month_names_fr_FR, NULL };
729 static TYPELIB my_locale_typelib_day_names_fr_FR =
730  { array_elements(my_locale_day_names_fr_FR)-1, "", my_locale_day_names_fr_FR, NULL };
731 static TYPELIB my_locale_typelib_ab_day_names_fr_FR =
732  { array_elements(my_locale_ab_day_names_fr_FR)-1, "", my_locale_ab_day_names_fr_FR, NULL };
733 MY_LOCALE my_locale_fr_FR
734 (
735   5,
736   "fr_FR",
737   "French - France",
738   FALSE,
739   &my_locale_typelib_month_names_fr_FR,
740   &my_locale_typelib_ab_month_names_fr_FR,
741   &my_locale_typelib_day_names_fr_FR,
742   &my_locale_typelib_ab_day_names_fr_FR,
743   9,
744   8,
745   ',',        /* decimal point fr_FR */
746   '\0',       /* thousands_sep fr_FR */
747   "\x80\x80", /* grouping      fr_FR */
748   &global_errmsgs[fr_FR]
749 );
750 /***** LOCALE END fr_FR *****/
751 
752 /***** LOCALE BEGIN gl_ES: Galician - Galician *****/
753 static const char *my_locale_month_names_gl_ES[13] =
754  {"Xaneiro","Febreiro","Marzo","Abril","Maio","Xuño","Xullo","Agosto","Setembro","Outubro","Novembro","Decembro", NullS };
755 static const char *my_locale_ab_month_names_gl_ES[13] =
756  {"Xan","Feb","Mar","Abr","Mai","Xuñ","Xul","Ago","Set","Out","Nov","Dec", NullS };
757 static const char *my_locale_day_names_gl_ES[8] =
758  {"Luns","Martes","Mércores","Xoves","Venres","Sábado","Domingo", NullS };
759 static const char *my_locale_ab_day_names_gl_ES[8] =
760  {"Lun","Mar","Mér","Xov","Ven","Sáb","Dom", NullS };
761 static TYPELIB my_locale_typelib_month_names_gl_ES =
762  { array_elements(my_locale_month_names_gl_ES)-1, "", my_locale_month_names_gl_ES, NULL };
763 static TYPELIB my_locale_typelib_ab_month_names_gl_ES =
764  { array_elements(my_locale_ab_month_names_gl_ES)-1, "", my_locale_ab_month_names_gl_ES, NULL };
765 static TYPELIB my_locale_typelib_day_names_gl_ES =
766  { array_elements(my_locale_day_names_gl_ES)-1, "", my_locale_day_names_gl_ES, NULL };
767 static TYPELIB my_locale_typelib_ab_day_names_gl_ES =
768  { array_elements(my_locale_ab_day_names_gl_ES)-1, "", my_locale_ab_day_names_gl_ES, NULL };
769 MY_LOCALE my_locale_gl_ES
770 (
771   22,
772   "gl_ES",
773   "Galician - Galician",
774   FALSE,
775   &my_locale_typelib_month_names_gl_ES,
776   &my_locale_typelib_ab_month_names_gl_ES,
777   &my_locale_typelib_day_names_gl_ES,
778   &my_locale_typelib_ab_day_names_gl_ES,
779   8,
780   8,
781   ',',        /* decimal point gl_ES */
782   '\0',       /* thousands_sep gl_ES */
783   "\x80\x80", /* grouping      gl_ES */
784   &global_errmsgs[en_US]
785 );
786 /***** LOCALE END gl_ES *****/
787 
788 /***** LOCALE BEGIN gu_IN: Gujarati - India *****/
789 static const char *my_locale_month_names_gu_IN[13] =
790  {"જાન્યુઆરી","ફેબ્રુઆરી","માર્ચ","એપ્રિલ","મે","જુન","જુલાઇ","ઓગસ્ટ","સેપ્ટેમ્બર","ઓક્ટોબર","નવેમ્બર","ડિસેમ્બર", NullS };
791 static const char *my_locale_ab_month_names_gu_IN[13] =
792  {"જાન","ફેબ","માર","એપ્ર","મે","જુન","જુલ","ઓગ","સેપ્ટ","ઓક્ટ","નોવ","ડિસ", NullS };
793 static const char *my_locale_day_names_gu_IN[8] =
794  {"સોમવાર","મન્ગળવાર","બુધવાર","ગુરુવાર","શુક્રવાર","શનિવાર","રવિવાર", NullS };
795 static const char *my_locale_ab_day_names_gu_IN[8] =
796  {"સોમ","મન્ગળ","બુધ","ગુરુ","શુક્ર","શનિ","રવિ", NullS };
797 static TYPELIB my_locale_typelib_month_names_gu_IN =
798  { array_elements(my_locale_month_names_gu_IN)-1, "", my_locale_month_names_gu_IN, NULL };
799 static TYPELIB my_locale_typelib_ab_month_names_gu_IN =
800  { array_elements(my_locale_ab_month_names_gu_IN)-1, "", my_locale_ab_month_names_gu_IN, NULL };
801 static TYPELIB my_locale_typelib_day_names_gu_IN =
802  { array_elements(my_locale_day_names_gu_IN)-1, "", my_locale_day_names_gu_IN, NULL };
803 static TYPELIB my_locale_typelib_ab_day_names_gu_IN =
804  { array_elements(my_locale_ab_day_names_gu_IN)-1, "", my_locale_ab_day_names_gu_IN, NULL };
805 MY_LOCALE my_locale_gu_IN
806 (
807   23,
808   "gu_IN",
809   "Gujarati - India",
810   FALSE,
811   &my_locale_typelib_month_names_gu_IN,
812   &my_locale_typelib_ab_month_names_gu_IN,
813   &my_locale_typelib_day_names_gu_IN,
814   &my_locale_typelib_ab_day_names_gu_IN,
815   10,
816   8,
817   '.',        /* decimal point gu_IN */
818   ',',        /* thousands_sep gu_IN */
819   "\x03",     /* grouping      gu_IN */
820   &global_errmsgs[en_US]
821 );
822 /***** LOCALE END gu_IN *****/
823 
824 /***** LOCALE BEGIN he_IL: Hebrew - Israel *****/
825 static const char *my_locale_month_names_he_IL[13] =
826  {"ינואר","פברואר","מרץ","אפריל","מאי","יוני","יולי","אוגוסט","ספטמבר","אוקטובר","נובמבר","דצמבר", NullS };
827 static const char *my_locale_ab_month_names_he_IL[13] =
828  {"ינו","פבר","מרץ","אפר","מאי","יונ","יול","אוג","ספט","אוק","נוב","דצמ", NullS };
829 static const char *my_locale_day_names_he_IL[8] =
830  {"שני","שלישי","רביעי","חמישי","שישי","שבת","ראשון", NullS };
831 static const char *my_locale_ab_day_names_he_IL[8] =
832  {"ב'","ג'","ד'","ה'","ו'","ש'","א'", NullS };
833 static TYPELIB my_locale_typelib_month_names_he_IL =
834  { array_elements(my_locale_month_names_he_IL)-1, "", my_locale_month_names_he_IL, NULL };
835 static TYPELIB my_locale_typelib_ab_month_names_he_IL =
836  { array_elements(my_locale_ab_month_names_he_IL)-1, "", my_locale_ab_month_names_he_IL, NULL };
837 static TYPELIB my_locale_typelib_day_names_he_IL =
838  { array_elements(my_locale_day_names_he_IL)-1, "", my_locale_day_names_he_IL, NULL };
839 static TYPELIB my_locale_typelib_ab_day_names_he_IL =
840  { array_elements(my_locale_ab_day_names_he_IL)-1, "", my_locale_ab_day_names_he_IL, NULL };
841 MY_LOCALE my_locale_he_IL
842 (
843   24,
844   "he_IL",
845   "Hebrew - Israel",
846   FALSE,
847   &my_locale_typelib_month_names_he_IL,
848   &my_locale_typelib_ab_month_names_he_IL,
849   &my_locale_typelib_day_names_he_IL,
850   &my_locale_typelib_ab_day_names_he_IL,
851   7,
852   5,
853   '.',        /* decimal point he_IL */
854   ',',        /* thousands_sep he_IL */
855   "\x03\x03", /* grouping      he_IL */
856   &global_errmsgs[en_US]
857 );
858 /***** LOCALE END he_IL *****/
859 
860 /***** LOCALE BEGIN hi_IN: Hindi - India *****/
861 static const char *my_locale_month_names_hi_IN[13] =
862  {"जनवरी","फ़रवरी","मार्च","अप्रेल","मई","जून","जुलाई","अगस्त","सितम्बर","अक्टूबर","नवम्बर","दिसम्बर", NullS };
863 static const char *my_locale_ab_month_names_hi_IN[13] =
864  {"जनवरी","फ़रवरी","मार्च","अप्रेल","मई","जून","जुलाई","अगस्त","सितम्बर","अक्टूबर","नवम्बर","दिसम्बर", NullS };
865 static const char *my_locale_day_names_hi_IN[8] =
866  {"सोमवार ","मंगलवार ","बुधवार ","गुरुवार ","शुक्रवार ","शनिवार ","रविवार ", NullS };
867 static const char *my_locale_ab_day_names_hi_IN[8] =
868  {"सोम ","मंगल ","बुध ","गुरु ","शुक्र ","शनि ","रवि ", NullS };
869 static TYPELIB my_locale_typelib_month_names_hi_IN =
870  { array_elements(my_locale_month_names_hi_IN)-1, "", my_locale_month_names_hi_IN, NULL };
871 static TYPELIB my_locale_typelib_ab_month_names_hi_IN =
872  { array_elements(my_locale_ab_month_names_hi_IN)-1, "", my_locale_ab_month_names_hi_IN, NULL };
873 static TYPELIB my_locale_typelib_day_names_hi_IN =
874  { array_elements(my_locale_day_names_hi_IN)-1, "", my_locale_day_names_hi_IN, NULL };
875 static TYPELIB my_locale_typelib_ab_day_names_hi_IN =
876  { array_elements(my_locale_ab_day_names_hi_IN)-1, "", my_locale_ab_day_names_hi_IN, NULL };
877 MY_LOCALE my_locale_hi_IN
878 (
879   25,
880   "hi_IN",
881   "Hindi - India",
882   FALSE,
883   &my_locale_typelib_month_names_hi_IN,
884   &my_locale_typelib_ab_month_names_hi_IN,
885   &my_locale_typelib_day_names_hi_IN,
886   &my_locale_typelib_ab_day_names_hi_IN,
887   7,
888   9,
889   '.',        /* decimal point hi_IN */
890   ',',        /* thousands_sep hi_IN */
891   "\x03",     /* grouping      hi_IN */
892   &global_errmsgs[hi_IN]
893 );
894 /***** LOCALE END hi_IN *****/
895 
896 /***** LOCALE BEGIN hr_HR: Croatian - Croatia *****/
897 static const char *my_locale_month_names_hr_HR[13] =
898  {"Siječanj","Veljača","Ožujak","Travanj","Svibanj","Lipanj","Srpanj","Kolovoz","Rujan","Listopad","Studeni","Prosinac", NullS };
899 static const char *my_locale_ab_month_names_hr_HR[13] =
900  {"Sij","Vel","Ožu","Tra","Svi","Lip","Srp","Kol","Ruj","Lis","Stu","Pro", NullS };
901 static const char *my_locale_day_names_hr_HR[8] =
902  {"Ponedjeljak","Utorak","Srijeda","Četvrtak","Petak","Subota","Nedjelja", NullS };
903 static const char *my_locale_ab_day_names_hr_HR[8] =
904  {"Pon","Uto","Sri","Čet","Pet","Sub","Ned", NullS };
905 static TYPELIB my_locale_typelib_month_names_hr_HR =
906  { array_elements(my_locale_month_names_hr_HR)-1, "", my_locale_month_names_hr_HR, NULL };
907 static TYPELIB my_locale_typelib_ab_month_names_hr_HR =
908  { array_elements(my_locale_ab_month_names_hr_HR)-1, "", my_locale_ab_month_names_hr_HR, NULL };
909 static TYPELIB my_locale_typelib_day_names_hr_HR =
910  { array_elements(my_locale_day_names_hr_HR)-1, "", my_locale_day_names_hr_HR, NULL };
911 static TYPELIB my_locale_typelib_ab_day_names_hr_HR =
912  { array_elements(my_locale_ab_day_names_hr_HR)-1, "", my_locale_ab_day_names_hr_HR, NULL };
913 MY_LOCALE my_locale_hr_HR
914 (
915   26,
916   "hr_HR",
917   "Croatian - Croatia",
918   FALSE,
919   &my_locale_typelib_month_names_hr_HR,
920   &my_locale_typelib_ab_month_names_hr_HR,
921   &my_locale_typelib_day_names_hr_HR,
922   &my_locale_typelib_ab_day_names_hr_HR,
923   8,
924   11,
925   ',',        /* decimal point hr_HR */
926   '\0',       /* thousands_sep hr_HR */
927   "\x80\x80", /* grouping      hr_HR */
928   &global_errmsgs[en_US]
929 );
930 /***** LOCALE END hr_HR *****/
931 
932 /***** LOCALE BEGIN hu_HU: Hungarian - Hungary *****/
933 static const char *my_locale_month_names_hu_HU[13] =
934  {"január","február","március","április","május","június","július","augusztus","szeptember","október","november","december", NullS };
935 static const char *my_locale_ab_month_names_hu_HU[13] =
936  {"jan","feb","már","ápr","máj","jún","júl","aug","sze","okt","nov","dec", NullS };
937 static const char *my_locale_day_names_hu_HU[8] =
938  {"hétfő","kedd","szerda","csütörtök","péntek","szombat","vasárnap", NullS };
939 static const char *my_locale_ab_day_names_hu_HU[8] =
940  {"h","k","sze","cs","p","szo","v", NullS };
941 static TYPELIB my_locale_typelib_month_names_hu_HU =
942  { array_elements(my_locale_month_names_hu_HU)-1, "", my_locale_month_names_hu_HU, NULL };
943 static TYPELIB my_locale_typelib_ab_month_names_hu_HU =
944  { array_elements(my_locale_ab_month_names_hu_HU)-1, "", my_locale_ab_month_names_hu_HU, NULL };
945 static TYPELIB my_locale_typelib_day_names_hu_HU =
946  { array_elements(my_locale_day_names_hu_HU)-1, "", my_locale_day_names_hu_HU, NULL };
947 static TYPELIB my_locale_typelib_ab_day_names_hu_HU =
948  { array_elements(my_locale_ab_day_names_hu_HU)-1, "", my_locale_ab_day_names_hu_HU, NULL };
949 MY_LOCALE my_locale_hu_HU
950 (
951   27,
952   "hu_HU",
953   "Hungarian - Hungary",
954   FALSE,
955   &my_locale_typelib_month_names_hu_HU,
956   &my_locale_typelib_ab_month_names_hu_HU,
957   &my_locale_typelib_day_names_hu_HU,
958   &my_locale_typelib_ab_day_names_hu_HU,
959   10,
960   9,
961   ',',        /* decimal point hu_HU */
962   '.',        /* thousands_sep hu_HU */
963   "\x03\x03", /* grouping      hu_HU */
964   &global_errmsgs[hu_HU]
965 );
966 /***** LOCALE END hu_HU *****/
967 
968 /***** LOCALE BEGIN id_ID: Indonesian - Indonesia *****/
969 static const char *my_locale_month_names_id_ID[13] =
970  {"Januari","Pebruari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","November","Desember", NullS };
971 static const char *my_locale_ab_month_names_id_ID[13] =
972  {"Jan","Peb","Mar","Apr","Mei","Jun","Jul","Agu","Sep","Okt","Nov","Des", NullS };
973 static const char *my_locale_day_names_id_ID[8] =
974  {"Senin","Selasa","Rabu","Kamis","Jumat","Sabtu","Minggu", NullS };
975 static const char *my_locale_ab_day_names_id_ID[8] =
976  {"Sen","Sel","Rab","Kam","Jum","Sab","Min", NullS };
977 static TYPELIB my_locale_typelib_month_names_id_ID =
978  { array_elements(my_locale_month_names_id_ID)-1, "", my_locale_month_names_id_ID, NULL };
979 static TYPELIB my_locale_typelib_ab_month_names_id_ID =
980  { array_elements(my_locale_ab_month_names_id_ID)-1, "", my_locale_ab_month_names_id_ID, NULL };
981 static TYPELIB my_locale_typelib_day_names_id_ID =
982  { array_elements(my_locale_day_names_id_ID)-1, "", my_locale_day_names_id_ID, NULL };
983 static TYPELIB my_locale_typelib_ab_day_names_id_ID =
984  { array_elements(my_locale_ab_day_names_id_ID)-1, "", my_locale_ab_day_names_id_ID, NULL };
985 MY_LOCALE my_locale_id_ID
986 (
987   28,
988   "id_ID",
989   "Indonesian - Indonesia",
990   TRUE,
991   &my_locale_typelib_month_names_id_ID,
992   &my_locale_typelib_ab_month_names_id_ID,
993   &my_locale_typelib_day_names_id_ID,
994   &my_locale_typelib_ab_day_names_id_ID,
995   9,
996   6,
997   ',',        /* decimal point id_ID */
998   '.',        /* thousands_sep id_ID */
999   "\x03\x03", /* grouping      id_ID */
1000   &global_errmsgs[en_US]
1001 );
1002 /***** LOCALE END id_ID *****/
1003 
1004 /***** LOCALE BEGIN is_IS: Icelandic - Iceland *****/
1005 static const char *my_locale_month_names_is_IS[13] =
1006  {"janúar","febrúar","mars","apríl","maí","júní","júlí","ágúst","september","október","nóvember","desember", NullS };
1007 static const char *my_locale_ab_month_names_is_IS[13] =
1008  {"jan","feb","mar","apr","maí","jún","júl","ágú","sep","okt","nóv","des", NullS };
1009 static const char *my_locale_day_names_is_IS[8] =
1010  {"mánudagur","þriðjudagur","miðvikudagur","fimmtudagur","föstudagur","laugardagur","sunnudagur", NullS };
1011 static const char *my_locale_ab_day_names_is_IS[8] =
1012  {"mán","þri","mið","fim","fös","lau","sun", NullS };
1013 static TYPELIB my_locale_typelib_month_names_is_IS =
1014  { array_elements(my_locale_month_names_is_IS)-1, "", my_locale_month_names_is_IS, NULL };
1015 static TYPELIB my_locale_typelib_ab_month_names_is_IS =
1016  { array_elements(my_locale_ab_month_names_is_IS)-1, "", my_locale_ab_month_names_is_IS, NULL };
1017 static TYPELIB my_locale_typelib_day_names_is_IS =
1018  { array_elements(my_locale_day_names_is_IS)-1, "", my_locale_day_names_is_IS, NULL };
1019 static TYPELIB my_locale_typelib_ab_day_names_is_IS =
1020  { array_elements(my_locale_ab_day_names_is_IS)-1, "", my_locale_ab_day_names_is_IS, NULL };
1021 MY_LOCALE my_locale_is_IS
1022 (
1023   29,
1024   "is_IS",
1025   "Icelandic - Iceland",
1026   FALSE,
1027   &my_locale_typelib_month_names_is_IS,
1028   &my_locale_typelib_ab_month_names_is_IS,
1029   &my_locale_typelib_day_names_is_IS,
1030   &my_locale_typelib_ab_day_names_is_IS,
1031   9,
1032   12,
1033   ',',        /* decimal point is_IS */
1034   '.',        /* thousands_sep is_IS */
1035   "\x03\x03", /* grouping      is_IS */
1036   &global_errmsgs[en_US]
1037 );
1038 /***** LOCALE END is_IS *****/
1039 
1040 /***** LOCALE BEGIN it_CH: Italian - Switzerland *****/
1041 static const char *my_locale_month_names_it_CH[13] =
1042  {"gennaio","febbraio","marzo","aprile","maggio","giugno","luglio","agosto","settembre","ottobre","novembre","dicembre", NullS };
1043 static const char *my_locale_ab_month_names_it_CH[13] =
1044  {"gen","feb","mar","apr","mag","giu","lug","ago","set","ott","nov","dic", NullS };
1045 static const char *my_locale_day_names_it_CH[8] =
1046  {"lunedì","martedì","mercoledì","giovedì","venerdì","sabato","domenica", NullS };
1047 static const char *my_locale_ab_day_names_it_CH[8] =
1048  {"lun","mar","mer","gio","ven","sab","dom", NullS };
1049 static TYPELIB my_locale_typelib_month_names_it_CH =
1050  { array_elements(my_locale_month_names_it_CH)-1, "", my_locale_month_names_it_CH, NULL };
1051 static TYPELIB my_locale_typelib_ab_month_names_it_CH =
1052  { array_elements(my_locale_ab_month_names_it_CH)-1, "", my_locale_ab_month_names_it_CH, NULL };
1053 static TYPELIB my_locale_typelib_day_names_it_CH =
1054  { array_elements(my_locale_day_names_it_CH)-1, "", my_locale_day_names_it_CH, NULL };
1055 static TYPELIB my_locale_typelib_ab_day_names_it_CH =
1056  { array_elements(my_locale_ab_day_names_it_CH)-1, "", my_locale_ab_day_names_it_CH, NULL };
1057 MY_LOCALE my_locale_it_CH
1058 (
1059   30,
1060   "it_CH",
1061   "Italian - Switzerland",
1062   FALSE,
1063   &my_locale_typelib_month_names_it_CH,
1064   &my_locale_typelib_ab_month_names_it_CH,
1065   &my_locale_typelib_day_names_it_CH,
1066   &my_locale_typelib_ab_day_names_it_CH,
1067   9,
1068   9,
1069   ',',        /* decimal point it_CH */
1070   '\'',       /* thousands_sep it_CH */
1071   "\x03\x03", /* grouping      it_CH */
1072   &global_errmsgs[it_IT]
1073 );
1074 /***** LOCALE END it_CH *****/
1075 
1076 /***** LOCALE BEGIN ja_JP: Japanese - Japan *****/
1077 static const char *my_locale_month_names_ja_JP[13] =
1078  {"1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月", NullS };
1079 static const char *my_locale_ab_month_names_ja_JP[13] =
1080  {" 1月"," 2月"," 3月"," 4月"," 5月"," 6月"," 7月"," 8月"," 9月","10月","11月","12月", NullS };
1081 static const char *my_locale_day_names_ja_JP[8] =
1082  {"月曜日","火曜日","水曜日","木曜日","金曜日","土曜日","日曜日", NullS };
1083 static const char *my_locale_ab_day_names_ja_JP[8] =
1084  {"月","火","水","木","金","土","日", NullS };
1085 static TYPELIB my_locale_typelib_month_names_ja_JP =
1086  { array_elements(my_locale_month_names_ja_JP)-1, "", my_locale_month_names_ja_JP, NULL };
1087 static TYPELIB my_locale_typelib_ab_month_names_ja_JP =
1088  { array_elements(my_locale_ab_month_names_ja_JP)-1, "", my_locale_ab_month_names_ja_JP, NULL };
1089 static TYPELIB my_locale_typelib_day_names_ja_JP =
1090  { array_elements(my_locale_day_names_ja_JP)-1, "", my_locale_day_names_ja_JP, NULL };
1091 static TYPELIB my_locale_typelib_ab_day_names_ja_JP =
1092  { array_elements(my_locale_ab_day_names_ja_JP)-1, "", my_locale_ab_day_names_ja_JP, NULL };
1093 MY_LOCALE my_locale_ja_JP
1094 (
1095   2,
1096   "ja_JP",
1097   "Japanese - Japan",
1098   FALSE,
1099   &my_locale_typelib_month_names_ja_JP,
1100   &my_locale_typelib_ab_month_names_ja_JP,
1101   &my_locale_typelib_day_names_ja_JP,
1102   &my_locale_typelib_ab_day_names_ja_JP,
1103   3,
1104   3,
1105   '.',        /* decimal point ja_JP */
1106   ',',        /* thousands_sep ja_JP */
1107   "\x03",     /* grouping      ja_JP */
1108   &global_errmsgs[ja_JP]
1109 );
1110 /***** LOCALE END ja_JP *****/
1111 
1112 /***** LOCALE BEGIN ko_KR: Korean - Korea *****/
1113 static const char *my_locale_month_names_ko_KR[13] =
1114  {"일월","이월","삼월","사월","오월","유월","칠월","팔월","구월","시월","십일월","십이월", NullS };
1115 static const char *my_locale_ab_month_names_ko_KR[13] =
1116  {" 1월"," 2월"," 3월"," 4월"," 5월"," 6월"," 7월"," 8월"," 9월","10월","11월","12월", NullS };
1117 static const char *my_locale_day_names_ko_KR[8] =
1118  {"월요일","화요일","수요일","목요일","금요일","토요일","일요일", NullS };
1119 static const char *my_locale_ab_day_names_ko_KR[8] =
1120  {"월","화","수","목","금","토","일", NullS };
1121 static TYPELIB my_locale_typelib_month_names_ko_KR =
1122  { array_elements(my_locale_month_names_ko_KR)-1, "", my_locale_month_names_ko_KR, NULL };
1123 static TYPELIB my_locale_typelib_ab_month_names_ko_KR =
1124  { array_elements(my_locale_ab_month_names_ko_KR)-1, "", my_locale_ab_month_names_ko_KR, NULL };
1125 static TYPELIB my_locale_typelib_day_names_ko_KR =
1126  { array_elements(my_locale_day_names_ko_KR)-1, "", my_locale_day_names_ko_KR, NULL };
1127 static TYPELIB my_locale_typelib_ab_day_names_ko_KR =
1128  { array_elements(my_locale_ab_day_names_ko_KR)-1, "", my_locale_ab_day_names_ko_KR, NULL };
1129 MY_LOCALE my_locale_ko_KR
1130 (
1131   31,
1132   "ko_KR",
1133   "Korean - Korea",
1134   FALSE,
1135   &my_locale_typelib_month_names_ko_KR,
1136   &my_locale_typelib_ab_month_names_ko_KR,
1137   &my_locale_typelib_day_names_ko_KR,
1138   &my_locale_typelib_ab_day_names_ko_KR,
1139   3,
1140   3,
1141   '.',        /* decimal point ko_KR */
1142   ',',        /* thousands_sep ko_KR */
1143   "\x03\x03", /* grouping      ko_KR */
1144   &global_errmsgs[ko_KR]
1145 );
1146 /***** LOCALE END ko_KR *****/
1147 
1148 /***** LOCALE BEGIN lt_LT: Lithuanian - Lithuania *****/
1149 static const char *my_locale_month_names_lt_LT[13] =
1150  {"sausio","vasario","kovo","balandžio","gegužės","birželio","liepos","rugpjūčio","rugsėjo","spalio","lapkričio","gruodžio", NullS };
1151 static const char *my_locale_ab_month_names_lt_LT[13] =
1152  {"Sau","Vas","Kov","Bal","Geg","Bir","Lie","Rgp","Rgs","Spa","Lap","Grd", NullS };
1153 static const char *my_locale_day_names_lt_LT[8] =
1154  {"Pirmadienis","Antradienis","Trečiadienis","Ketvirtadienis","Penktadienis","Šeštadienis","Sekmadienis", NullS };
1155 static const char *my_locale_ab_day_names_lt_LT[8] =
1156  {"Pr","An","Tr","Kt","Pn","Št","Sk", NullS };
1157 static TYPELIB my_locale_typelib_month_names_lt_LT =
1158  { array_elements(my_locale_month_names_lt_LT)-1, "", my_locale_month_names_lt_LT, NULL };
1159 static TYPELIB my_locale_typelib_ab_month_names_lt_LT =
1160  { array_elements(my_locale_ab_month_names_lt_LT)-1, "", my_locale_ab_month_names_lt_LT, NULL };
1161 static TYPELIB my_locale_typelib_day_names_lt_LT =
1162  { array_elements(my_locale_day_names_lt_LT)-1, "", my_locale_day_names_lt_LT, NULL };
1163 static TYPELIB my_locale_typelib_ab_day_names_lt_LT =
1164  { array_elements(my_locale_ab_day_names_lt_LT)-1, "", my_locale_ab_day_names_lt_LT, NULL };
1165 MY_LOCALE my_locale_lt_LT
1166 (
1167   32,
1168   "lt_LT",
1169   "Lithuanian - Lithuania",
1170   FALSE,
1171   &my_locale_typelib_month_names_lt_LT,
1172   &my_locale_typelib_ab_month_names_lt_LT,
1173   &my_locale_typelib_day_names_lt_LT,
1174   &my_locale_typelib_ab_day_names_lt_LT,
1175   9,
1176   14,
1177   ',',        /* decimal point lt_LT */
1178   '.',        /* thousands_sep lt_LT */
1179   "\x03\x03", /* grouping      lt_LT */
1180   &global_errmsgs[en_US]
1181 );
1182 /***** LOCALE END lt_LT *****/
1183 
1184 /***** LOCALE BEGIN lv_LV: Latvian - Latvia *****/
1185 static const char *my_locale_month_names_lv_LV[13] =
1186  {"janvāris","februāris","marts","aprīlis","maijs","jūnijs","jūlijs","augusts","septembris","oktobris","novembris","decembris", NullS };
1187 static const char *my_locale_ab_month_names_lv_LV[13] =
1188  {"jan","feb","mar","apr","mai","jūn","jūl","aug","sep","okt","nov","dec", NullS };
1189 static const char *my_locale_day_names_lv_LV[8] =
1190  {"pirmdiena","otrdiena","trešdiena","ceturtdiena","piektdiena","sestdiena","svētdiena", NullS };
1191 static const char *my_locale_ab_day_names_lv_LV[8] =
1192  {"P ","O ","T ","C ","Pk","S ","Sv", NullS };
1193 static TYPELIB my_locale_typelib_month_names_lv_LV =
1194  { array_elements(my_locale_month_names_lv_LV)-1, "", my_locale_month_names_lv_LV, NULL };
1195 static TYPELIB my_locale_typelib_ab_month_names_lv_LV =
1196  { array_elements(my_locale_ab_month_names_lv_LV)-1, "", my_locale_ab_month_names_lv_LV, NULL };
1197 static TYPELIB my_locale_typelib_day_names_lv_LV =
1198  { array_elements(my_locale_day_names_lv_LV)-1, "", my_locale_day_names_lv_LV, NULL };
1199 static TYPELIB my_locale_typelib_ab_day_names_lv_LV =
1200  { array_elements(my_locale_ab_day_names_lv_LV)-1, "", my_locale_ab_day_names_lv_LV, NULL };
1201 MY_LOCALE my_locale_lv_LV
1202 (
1203   33,
1204   "lv_LV",
1205   "Latvian - Latvia",
1206   FALSE,
1207   &my_locale_typelib_month_names_lv_LV,
1208   &my_locale_typelib_ab_month_names_lv_LV,
1209   &my_locale_typelib_day_names_lv_LV,
1210   &my_locale_typelib_ab_day_names_lv_LV,
1211   10,
1212   11,
1213   ',',        /* decimal point lv_LV */
1214   ' ',        /* thousands_sep lv_LV */
1215   "\x03\x03", /* grouping      lv_LV */
1216   &global_errmsgs[en_US]
1217 );
1218 /***** LOCALE END lv_LV *****/
1219 
1220 /***** LOCALE BEGIN mk_MK: Macedonian - FYROM *****/
1221 static const char *my_locale_month_names_mk_MK[13] =
1222  {"јануари","февруари","март","април","мај","јуни","јули","август","септември","октомври","ноември","декември", NullS };
1223 static const char *my_locale_ab_month_names_mk_MK[13] =
1224  {"јан","фев","мар","апр","мај","јун","јул","авг","сеп","окт","ное","дек", NullS };
1225 static const char *my_locale_day_names_mk_MK[8] =
1226  {"понеделник","вторник","среда","четврток","петок","сабота","недела", NullS };
1227 static const char *my_locale_ab_day_names_mk_MK[8] =
1228  {"пон","вто","сре","чет","пет","саб","нед", NullS };
1229 static TYPELIB my_locale_typelib_month_names_mk_MK =
1230  { array_elements(my_locale_month_names_mk_MK)-1, "", my_locale_month_names_mk_MK, NULL };
1231 static TYPELIB my_locale_typelib_ab_month_names_mk_MK =
1232  { array_elements(my_locale_ab_month_names_mk_MK)-1, "", my_locale_ab_month_names_mk_MK, NULL };
1233 static TYPELIB my_locale_typelib_day_names_mk_MK =
1234  { array_elements(my_locale_day_names_mk_MK)-1, "", my_locale_day_names_mk_MK, NULL };
1235 static TYPELIB my_locale_typelib_ab_day_names_mk_MK =
1236  { array_elements(my_locale_ab_day_names_mk_MK)-1, "", my_locale_ab_day_names_mk_MK, NULL };
1237 MY_LOCALE my_locale_mk_MK
1238 (
1239   34,
1240   "mk_MK",
1241   "Macedonian - FYROM",
1242   FALSE,
1243   &my_locale_typelib_month_names_mk_MK,
1244   &my_locale_typelib_ab_month_names_mk_MK,
1245   &my_locale_typelib_day_names_mk_MK,
1246   &my_locale_typelib_ab_day_names_mk_MK,
1247   9,
1248   10,
1249   ',',        /* decimal point mk_MK */
1250   ' ',        /* thousands_sep mk_MK */
1251   "\x03\x03", /* grouping      mk_MK */
1252   &global_errmsgs[en_US]
1253 );
1254 /***** LOCALE END mk_MK *****/
1255 
1256 /***** LOCALE BEGIN mn_MN: Mongolia - Mongolian *****/
1257 static const char *my_locale_month_names_mn_MN[13] =
1258  {"Нэгдүгээр сар","Хоёрдугаар сар","Гуравдугаар сар","Дөрөвдүгээр сар","Тавдугаар сар","Зургаадугар сар","Долоодугаар сар","Наймдугаар сар","Есдүгээр сар","Аравдугаар сар","Арваннэгдүгээр сар","Арванхоёрдгаар сар", NullS };
1259 static const char *my_locale_ab_month_names_mn_MN[13] =
1260  {"1-р","2-р","3-р","4-р","5-р","6-р","7-р","8-р","9-р","10-р","11-р","12-р", NullS };
1261 static const char *my_locale_day_names_mn_MN[8] =
1262  {"Даваа","Мягмар","Лхагва","Пүрэв","Баасан","Бямба","Ням", NullS };
1263 static const char *my_locale_ab_day_names_mn_MN[8] =
1264  {"Да","Мя","Лх","Пү","Ба","Бя","Ня", NullS };
1265 static TYPELIB my_locale_typelib_month_names_mn_MN =
1266  { array_elements(my_locale_month_names_mn_MN)-1, "", my_locale_month_names_mn_MN, NULL };
1267 static TYPELIB my_locale_typelib_ab_month_names_mn_MN =
1268  { array_elements(my_locale_ab_month_names_mn_MN)-1, "", my_locale_ab_month_names_mn_MN, NULL };
1269 static TYPELIB my_locale_typelib_day_names_mn_MN =
1270  { array_elements(my_locale_day_names_mn_MN)-1, "", my_locale_day_names_mn_MN, NULL };
1271 static TYPELIB my_locale_typelib_ab_day_names_mn_MN =
1272  { array_elements(my_locale_ab_day_names_mn_MN)-1, "", my_locale_ab_day_names_mn_MN, NULL };
1273 MY_LOCALE my_locale_mn_MN
1274 (
1275   35,
1276   "mn_MN",
1277   "Mongolia - Mongolian",
1278   FALSE,
1279   &my_locale_typelib_month_names_mn_MN,
1280   &my_locale_typelib_ab_month_names_mn_MN,
1281   &my_locale_typelib_day_names_mn_MN,
1282   &my_locale_typelib_ab_day_names_mn_MN,
1283   18,
1284   6,
1285   ',',        /* decimal point mn_MN */
1286   '.',        /* thousands_sep mn_MN */
1287   "\x03\x03", /* grouping      mn_MN */
1288   &global_errmsgs[en_US]
1289 );
1290 /***** LOCALE END mn_MN *****/
1291 
1292 /***** LOCALE BEGIN ms_MY: Malay - Malaysia *****/
1293 static const char *my_locale_month_names_ms_MY[13] =
1294  {"Januari","Februari","Mac","April","Mei","Jun","Julai","Ogos","September","Oktober","November","Disember", NullS };
1295 static const char *my_locale_ab_month_names_ms_MY[13] =
1296  {"Jan","Feb","Mac","Apr","Mei","Jun","Jul","Ogos","Sep","Okt","Nov","Dis", NullS };
1297 static const char *my_locale_day_names_ms_MY[8] =
1298  {"Isnin","Selasa","Rabu","Khamis","Jumaat","Sabtu","Ahad", NullS };
1299 static const char *my_locale_ab_day_names_ms_MY[8] =
1300  {"Isn","Sel","Rab","Kha","Jum","Sab","Ahd", NullS };
1301 static TYPELIB my_locale_typelib_month_names_ms_MY =
1302  { array_elements(my_locale_month_names_ms_MY)-1, "", my_locale_month_names_ms_MY, NULL };
1303 static TYPELIB my_locale_typelib_ab_month_names_ms_MY =
1304  { array_elements(my_locale_ab_month_names_ms_MY)-1, "", my_locale_ab_month_names_ms_MY, NULL };
1305 static TYPELIB my_locale_typelib_day_names_ms_MY =
1306  { array_elements(my_locale_day_names_ms_MY)-1, "", my_locale_day_names_ms_MY, NULL };
1307 static TYPELIB my_locale_typelib_ab_day_names_ms_MY =
1308  { array_elements(my_locale_ab_day_names_ms_MY)-1, "", my_locale_ab_day_names_ms_MY, NULL };
1309 MY_LOCALE my_locale_ms_MY
1310 (
1311   36,
1312   "ms_MY",
1313   "Malay - Malaysia",
1314   TRUE,
1315   &my_locale_typelib_month_names_ms_MY,
1316   &my_locale_typelib_ab_month_names_ms_MY,
1317   &my_locale_typelib_day_names_ms_MY,
1318   &my_locale_typelib_ab_day_names_ms_MY,
1319   9,
1320   6,
1321   '.',        /* decimal point ms_MY */
1322   ',',        /* thousands_sep ms_MY */
1323   "\x03",     /* grouping      ms_MY */
1324   &global_errmsgs[en_US]
1325 );
1326 /***** LOCALE END ms_MY *****/
1327 
1328 /***** LOCALE BEGIN nb_NO: Norwegian(Bokml) - Norway *****/
1329 static const char *my_locale_month_names_nb_NO[13] =
1330  {"januar","februar","mars","april","mai","juni","juli","august","september","oktober","november","desember", NullS };
1331 static const char *my_locale_ab_month_names_nb_NO[13] =
1332  {"jan","feb","mar","apr","mai","jun","jul","aug","sep","okt","nov","des", NullS };
1333 static const char *my_locale_day_names_nb_NO[8] =
1334  {"mandag","tirsdag","onsdag","torsdag","fredag","lørdag","søndag", NullS };
1335 static const char *my_locale_ab_day_names_nb_NO[8] =
1336  {"man","tir","ons","tor","fre","lør","søn", NullS };
1337 static TYPELIB my_locale_typelib_month_names_nb_NO =
1338  { array_elements(my_locale_month_names_nb_NO)-1, "", my_locale_month_names_nb_NO, NULL };
1339 static TYPELIB my_locale_typelib_ab_month_names_nb_NO =
1340  { array_elements(my_locale_ab_month_names_nb_NO)-1, "", my_locale_ab_month_names_nb_NO, NULL };
1341 static TYPELIB my_locale_typelib_day_names_nb_NO =
1342  { array_elements(my_locale_day_names_nb_NO)-1, "", my_locale_day_names_nb_NO, NULL };
1343 static TYPELIB my_locale_typelib_ab_day_names_nb_NO =
1344  { array_elements(my_locale_ab_day_names_nb_NO)-1, "", my_locale_ab_day_names_nb_NO, NULL };
1345 MY_LOCALE my_locale_nb_NO
1346 (
1347   37,
1348   "nb_NO",
1349   "Norwegian(Bokml) - Norway",
1350   FALSE,
1351   &my_locale_typelib_month_names_nb_NO,
1352   &my_locale_typelib_ab_month_names_nb_NO,
1353   &my_locale_typelib_day_names_nb_NO,
1354   &my_locale_typelib_ab_day_names_nb_NO,
1355   9,
1356   7,
1357   ',',        /* decimal point nb_NO */
1358   '.',        /* thousands_sep nb_NO */
1359   "\x03\x03", /* grouping      nb_NO */
1360   &global_errmsgs[no_NO]
1361 );
1362 /***** LOCALE END nb_NO *****/
1363 
1364 /***** LOCALE BEGIN nl_NL: Dutch - The Netherlands *****/
1365 static const char *my_locale_month_names_nl_NL[13] =
1366  {"januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december", NullS };
1367 static const char *my_locale_ab_month_names_nl_NL[13] =
1368  {"jan","feb","mrt","apr","mei","jun","jul","aug","sep","okt","nov","dec", NullS };
1369 static const char *my_locale_day_names_nl_NL[8] =
1370  {"maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag","zondag", NullS };
1371 static const char *my_locale_ab_day_names_nl_NL[8] =
1372  {"ma","di","wo","do","vr","za","zo", NullS };
1373 static TYPELIB my_locale_typelib_month_names_nl_NL =
1374  { array_elements(my_locale_month_names_nl_NL)-1, "", my_locale_month_names_nl_NL, NULL };
1375 static TYPELIB my_locale_typelib_ab_month_names_nl_NL =
1376  { array_elements(my_locale_ab_month_names_nl_NL)-1, "", my_locale_ab_month_names_nl_NL, NULL };
1377 static TYPELIB my_locale_typelib_day_names_nl_NL =
1378  { array_elements(my_locale_day_names_nl_NL)-1, "", my_locale_day_names_nl_NL, NULL };
1379 static TYPELIB my_locale_typelib_ab_day_names_nl_NL =
1380  { array_elements(my_locale_ab_day_names_nl_NL)-1, "", my_locale_ab_day_names_nl_NL, NULL };
1381 MY_LOCALE my_locale_nl_NL
1382 (
1383   38,
1384   "nl_NL",
1385   "Dutch - The Netherlands",
1386   TRUE,
1387   &my_locale_typelib_month_names_nl_NL,
1388   &my_locale_typelib_ab_month_names_nl_NL,
1389   &my_locale_typelib_day_names_nl_NL,
1390   &my_locale_typelib_ab_day_names_nl_NL,
1391   9,
1392   9,
1393   ',',        /* decimal point nl_NL */
1394   '\0',       /* thousands_sep nl_NL */
1395   "\x80\x80", /* grouping      nl_NL */
1396   &global_errmsgs[nl_NL]
1397 );
1398 /***** LOCALE END nl_NL *****/
1399 
1400 /***** LOCALE BEGIN pl_PL: Polish - Poland *****/
1401 static const char *my_locale_month_names_pl_PL[13] =
1402  {"styczeń","luty","marzec","kwiecień","maj","czerwiec","lipiec","sierpień","wrzesień","październik","listopad","grudzień", NullS };
1403 static const char *my_locale_ab_month_names_pl_PL[13] =
1404  {"sty","lut","mar","kwi","maj","cze","lip","sie","wrz","paź","lis","gru", NullS };
1405 static const char *my_locale_day_names_pl_PL[8] =
1406  {"poniedziałek","wtorek","środa","czwartek","piątek","sobota","niedziela", NullS };
1407 static const char *my_locale_ab_day_names_pl_PL[8] =
1408  {"pon","wto","śro","czw","pią","sob","nie", NullS };
1409 static TYPELIB my_locale_typelib_month_names_pl_PL =
1410  { array_elements(my_locale_month_names_pl_PL)-1, "", my_locale_month_names_pl_PL, NULL };
1411 static TYPELIB my_locale_typelib_ab_month_names_pl_PL =
1412  { array_elements(my_locale_ab_month_names_pl_PL)-1, "", my_locale_ab_month_names_pl_PL, NULL };
1413 static TYPELIB my_locale_typelib_day_names_pl_PL =
1414  { array_elements(my_locale_day_names_pl_PL)-1, "", my_locale_day_names_pl_PL, NULL };
1415 static TYPELIB my_locale_typelib_ab_day_names_pl_PL =
1416  { array_elements(my_locale_ab_day_names_pl_PL)-1, "", my_locale_ab_day_names_pl_PL, NULL };
1417 MY_LOCALE my_locale_pl_PL
1418 (
1419   39,
1420   "pl_PL",
1421   "Polish - Poland",
1422   FALSE,
1423   &my_locale_typelib_month_names_pl_PL,
1424   &my_locale_typelib_ab_month_names_pl_PL,
1425   &my_locale_typelib_day_names_pl_PL,
1426   &my_locale_typelib_ab_day_names_pl_PL,
1427   11,
1428   12,
1429   ',',        /* decimal point pl_PL */
1430   '\0',       /* thousands_sep pl_PL */
1431   "\x80\x80", /* grouping      pl_PL */
1432   &global_errmsgs[pl_PL]
1433 );
1434 /***** LOCALE END pl_PL *****/
1435 
1436 /***** LOCALE BEGIN pt_BR: Portuguese - Brazil *****/
1437 static const char *my_locale_month_names_pt_BR[13] =
1438  {"janeiro","fevereiro","março","abril","maio","junho","julho","agosto","setembro","outubro","novembro","dezembro", NullS };
1439 static const char *my_locale_ab_month_names_pt_BR[13] =
1440  {"Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez", NullS };
1441 static const char *my_locale_day_names_pt_BR[8] =
1442  {"segunda","terça","quarta","quinta","sexta","sábado","domingo", NullS };
1443 static const char *my_locale_ab_day_names_pt_BR[8] =
1444  {"Seg","Ter","Qua","Qui","Sex","Sáb","Dom", NullS };
1445 static TYPELIB my_locale_typelib_month_names_pt_BR =
1446  { array_elements(my_locale_month_names_pt_BR)-1, "", my_locale_month_names_pt_BR, NULL };
1447 static TYPELIB my_locale_typelib_ab_month_names_pt_BR =
1448  { array_elements(my_locale_ab_month_names_pt_BR)-1, "", my_locale_ab_month_names_pt_BR, NULL };
1449 static TYPELIB my_locale_typelib_day_names_pt_BR =
1450  { array_elements(my_locale_day_names_pt_BR)-1, "", my_locale_day_names_pt_BR, NULL };
1451 static TYPELIB my_locale_typelib_ab_day_names_pt_BR =
1452  { array_elements(my_locale_ab_day_names_pt_BR)-1, "", my_locale_ab_day_names_pt_BR, NULL };
1453 MY_LOCALE my_locale_pt_BR
1454 (
1455   40,
1456   "pt_BR",
1457   "Portuguese - Brazil",
1458   FALSE,
1459   &my_locale_typelib_month_names_pt_BR,
1460   &my_locale_typelib_ab_month_names_pt_BR,
1461   &my_locale_typelib_day_names_pt_BR,
1462   &my_locale_typelib_ab_day_names_pt_BR,
1463   9,
1464   7,
1465   ',',        /* decimal point pt_BR */
1466   '\0',       /* thousands_sep pt_BR */
1467   "\x80\x80", /* grouping      pt_BR */
1468   &global_errmsgs[pt_PT]
1469 );
1470 /***** LOCALE END pt_BR *****/
1471 
1472 /***** LOCALE BEGIN pt_PT: Portuguese - Portugal *****/
1473 static const char *my_locale_month_names_pt_PT[13] =
1474  {"Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro", NullS };
1475 static const char *my_locale_ab_month_names_pt_PT[13] =
1476  {"Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez", NullS };
1477 static const char *my_locale_day_names_pt_PT[8] =
1478  {"Segunda","Terça","Quarta","Quinta","Sexta","Sábado","Domingo", NullS };
1479 static const char *my_locale_ab_day_names_pt_PT[8] =
1480  {"Seg","Ter","Qua","Qui","Sex","Sáb","Dom", NullS };
1481 static TYPELIB my_locale_typelib_month_names_pt_PT =
1482  { array_elements(my_locale_month_names_pt_PT)-1, "", my_locale_month_names_pt_PT, NULL };
1483 static TYPELIB my_locale_typelib_ab_month_names_pt_PT =
1484  { array_elements(my_locale_ab_month_names_pt_PT)-1, "", my_locale_ab_month_names_pt_PT, NULL };
1485 static TYPELIB my_locale_typelib_day_names_pt_PT =
1486  { array_elements(my_locale_day_names_pt_PT)-1, "", my_locale_day_names_pt_PT, NULL };
1487 static TYPELIB my_locale_typelib_ab_day_names_pt_PT =
1488  { array_elements(my_locale_ab_day_names_pt_PT)-1, "", my_locale_ab_day_names_pt_PT, NULL };
1489 MY_LOCALE my_locale_pt_PT
1490 (
1491   41,
1492   "pt_PT",
1493   "Portuguese - Portugal",
1494   FALSE,
1495   &my_locale_typelib_month_names_pt_PT,
1496   &my_locale_typelib_ab_month_names_pt_PT,
1497   &my_locale_typelib_day_names_pt_PT,
1498   &my_locale_typelib_ab_day_names_pt_PT,
1499   9,
1500   7,
1501   ',',        /* decimal point pt_PT */
1502   '\0',       /* thousands_sep pt_PT */
1503   "\x80\x80", /* grouping      pt_PT */
1504   &global_errmsgs[pt_PT]
1505 );
1506 /***** LOCALE END pt_PT *****/
1507 
1508 /***** LOCALE BEGIN ro_RO: Romanian - Romania *****/
1509 static const char *my_locale_month_names_ro_RO[13] =
1510  {"Ianuarie","Februarie","Martie","Aprilie","Mai","Iunie","Iulie","August","Septembrie","Octombrie","Noiembrie","Decembrie", NullS };
1511 static const char *my_locale_ab_month_names_ro_RO[13] =
1512  {"ian","feb","mar","apr","mai","iun","iul","aug","sep","oct","nov","dec", NullS };
1513 static const char *my_locale_day_names_ro_RO[8] =
1514  {"Luni","Marţi","Miercuri","Joi","Vineri","Sâmbătă","Duminică", NullS };
1515 static const char *my_locale_ab_day_names_ro_RO[8] =
1516  {"Lu","Ma","Mi","Jo","Vi","Sâ","Du", NullS };
1517 static TYPELIB my_locale_typelib_month_names_ro_RO =
1518  { array_elements(my_locale_month_names_ro_RO)-1, "", my_locale_month_names_ro_RO, NULL };
1519 static TYPELIB my_locale_typelib_ab_month_names_ro_RO =
1520  { array_elements(my_locale_ab_month_names_ro_RO)-1, "", my_locale_ab_month_names_ro_RO, NULL };
1521 static TYPELIB my_locale_typelib_day_names_ro_RO =
1522  { array_elements(my_locale_day_names_ro_RO)-1, "", my_locale_day_names_ro_RO, NULL };
1523 static TYPELIB my_locale_typelib_ab_day_names_ro_RO =
1524  { array_elements(my_locale_ab_day_names_ro_RO)-1, "", my_locale_ab_day_names_ro_RO, NULL };
1525 MY_LOCALE my_locale_ro_RO
1526 (
1527   42,
1528   "ro_RO",
1529   "Romanian - Romania",
1530   FALSE,
1531   &my_locale_typelib_month_names_ro_RO,
1532   &my_locale_typelib_ab_month_names_ro_RO,
1533   &my_locale_typelib_day_names_ro_RO,
1534   &my_locale_typelib_ab_day_names_ro_RO,
1535   10,
1536   8,
1537   ',',        /* decimal point ro_RO */
1538   '.',        /* thousands_sep ro_RO */
1539   "\x03\x03", /* grouping      ro_RO */
1540   &global_errmsgs[ro_RO]
1541 );
1542 /***** LOCALE END ro_RO *****/
1543 
1544 /***** LOCALE BEGIN ru_RU: Russian - Russia *****/
1545 static const char *my_locale_month_names_ru_RU[13] =
1546  {"Января","Февраля","Марта","Апреля","Мая","Июня","Июля","Августа","Сентября","Октября","Ноября","Декабря", NullS };
1547 static const char *my_locale_ab_month_names_ru_RU[13] =
1548  {"Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек", NullS };
1549 static const char *my_locale_day_names_ru_RU[8] =
1550  {"Понедельник","Вторник","Среда","Четверг","Пятница","Суббота","Воскресенье", NullS };
1551 static const char *my_locale_ab_day_names_ru_RU[8] =
1552  {"Пнд","Втр","Срд","Чтв","Птн","Сбт","Вск", NullS };
1553 static TYPELIB my_locale_typelib_month_names_ru_RU =
1554  { array_elements(my_locale_month_names_ru_RU)-1, "", my_locale_month_names_ru_RU, NULL };
1555 static TYPELIB my_locale_typelib_ab_month_names_ru_RU =
1556  { array_elements(my_locale_ab_month_names_ru_RU)-1, "", my_locale_ab_month_names_ru_RU, NULL };
1557 static TYPELIB my_locale_typelib_day_names_ru_RU =
1558  { array_elements(my_locale_day_names_ru_RU)-1, "", my_locale_day_names_ru_RU, NULL };
1559 static TYPELIB my_locale_typelib_ab_day_names_ru_RU =
1560  { array_elements(my_locale_ab_day_names_ru_RU)-1, "", my_locale_ab_day_names_ru_RU, NULL };
1561 MY_LOCALE my_locale_ru_RU
1562 (
1563   43,
1564   "ru_RU",
1565   "Russian - Russia",
1566   FALSE,
1567   &my_locale_typelib_month_names_ru_RU,
1568   &my_locale_typelib_ab_month_names_ru_RU,
1569   &my_locale_typelib_day_names_ru_RU,
1570   &my_locale_typelib_ab_day_names_ru_RU,
1571   8,
1572   11,
1573   ',',        /* decimal point ru_RU */
1574   ' ',        /* thousands_sep ru_RU */
1575   "\x03\x03", /* grouping      ru_RU */
1576   &global_errmsgs[ru_RU]
1577 );
1578 /***** LOCALE END ru_RU *****/
1579 
1580 /***** LOCALE BEGIN ru_UA: Russian - Ukraine *****/
1581 static const char *my_locale_month_names_ru_UA[13] =
1582  {"Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь", NullS };
1583 static const char *my_locale_ab_month_names_ru_UA[13] =
1584  {"Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек", NullS };
1585 static const char *my_locale_day_names_ru_UA[8] =
1586  {"Понедельник","Вторник","Среда","Четверг","Пятница","Суббота","Воскресенье", NullS };
1587 static const char *my_locale_ab_day_names_ru_UA[8] =
1588  {"Пнд","Вто","Срд","Чтв","Птн","Суб","Вск", NullS };
1589 static TYPELIB my_locale_typelib_month_names_ru_UA =
1590  { array_elements(my_locale_month_names_ru_UA)-1, "", my_locale_month_names_ru_UA, NULL };
1591 static TYPELIB my_locale_typelib_ab_month_names_ru_UA =
1592  { array_elements(my_locale_ab_month_names_ru_UA)-1, "", my_locale_ab_month_names_ru_UA, NULL };
1593 static TYPELIB my_locale_typelib_day_names_ru_UA =
1594  { array_elements(my_locale_day_names_ru_UA)-1, "", my_locale_day_names_ru_UA, NULL };
1595 static TYPELIB my_locale_typelib_ab_day_names_ru_UA =
1596  { array_elements(my_locale_ab_day_names_ru_UA)-1, "", my_locale_ab_day_names_ru_UA, NULL };
1597 MY_LOCALE my_locale_ru_UA
1598 (
1599   44,
1600   "ru_UA",
1601   "Russian - Ukraine",
1602   FALSE,
1603   &my_locale_typelib_month_names_ru_UA,
1604   &my_locale_typelib_ab_month_names_ru_UA,
1605   &my_locale_typelib_day_names_ru_UA,
1606   &my_locale_typelib_ab_day_names_ru_UA,
1607   8,
1608   11,
1609   ',',        /* decimal point ru_UA */
1610   '.',        /* thousands_sep ru_UA */
1611   "\x03\x03", /* grouping      ru_UA */
1612   &global_errmsgs[ru_RU]
1613 );
1614 /***** LOCALE END ru_UA *****/
1615 
1616 /***** LOCALE BEGIN sk_SK: Slovak - Slovakia *****/
1617 static const char *my_locale_month_names_sk_SK[13] =
1618  {"január","február","marec","apríl","máj","jún","júl","august","september","október","november","december", NullS };
1619 static const char *my_locale_ab_month_names_sk_SK[13] =
1620  {"jan","feb","mar","apr","máj","jún","júl","aug","sep","okt","nov","dec", NullS };
1621 static const char *my_locale_day_names_sk_SK[8] =
1622  {"Pondelok","Utorok","Streda","Štvrtok","Piatok","Sobota","Nedeľa", NullS };
1623 static const char *my_locale_ab_day_names_sk_SK[8] =
1624  {"Po","Ut","St","Št","Pi","So","Ne", NullS };
1625 static TYPELIB my_locale_typelib_month_names_sk_SK =
1626  { array_elements(my_locale_month_names_sk_SK)-1, "", my_locale_month_names_sk_SK, NULL };
1627 static TYPELIB my_locale_typelib_ab_month_names_sk_SK =
1628  { array_elements(my_locale_ab_month_names_sk_SK)-1, "", my_locale_ab_month_names_sk_SK, NULL };
1629 static TYPELIB my_locale_typelib_day_names_sk_SK =
1630  { array_elements(my_locale_day_names_sk_SK)-1, "", my_locale_day_names_sk_SK, NULL };
1631 static TYPELIB my_locale_typelib_ab_day_names_sk_SK =
1632  { array_elements(my_locale_ab_day_names_sk_SK)-1, "", my_locale_ab_day_names_sk_SK, NULL };
1633 MY_LOCALE my_locale_sk_SK
1634 (
1635   45,
1636   "sk_SK",
1637   "Slovak - Slovakia",
1638   FALSE,
1639   &my_locale_typelib_month_names_sk_SK,
1640   &my_locale_typelib_ab_month_names_sk_SK,
1641   &my_locale_typelib_day_names_sk_SK,
1642   &my_locale_typelib_ab_day_names_sk_SK,
1643   9,
1644   8,
1645   ',',        /* decimal point sk_SK */
1646   ' ',        /* thousands_sep sk_SK */
1647   "\x03\x03", /* grouping      sk_SK */
1648   &global_errmsgs[sk_SK]
1649 );
1650 /***** LOCALE END sk_SK *****/
1651 
1652 /***** LOCALE BEGIN sl_SI: Slovenian - Slovenia *****/
1653 static const char *my_locale_month_names_sl_SI[13] =
1654  {"januar","februar","marec","april","maj","junij","julij","avgust","september","oktober","november","december", NullS };
1655 static const char *my_locale_ab_month_names_sl_SI[13] =
1656  {"jan","feb","mar","apr","maj","jun","jul","avg","sep","okt","nov","dec", NullS };
1657 static const char *my_locale_day_names_sl_SI[8] =
1658  {"ponedeljek","torek","sreda","četrtek","petek","sobota","nedelja", NullS };
1659 static const char *my_locale_ab_day_names_sl_SI[8] =
1660  {"pon","tor","sre","čet","pet","sob","ned", NullS };
1661 static TYPELIB my_locale_typelib_month_names_sl_SI =
1662  { array_elements(my_locale_month_names_sl_SI)-1, "", my_locale_month_names_sl_SI, NULL };
1663 static TYPELIB my_locale_typelib_ab_month_names_sl_SI =
1664  { array_elements(my_locale_ab_month_names_sl_SI)-1, "", my_locale_ab_month_names_sl_SI, NULL };
1665 static TYPELIB my_locale_typelib_day_names_sl_SI =
1666  { array_elements(my_locale_day_names_sl_SI)-1, "", my_locale_day_names_sl_SI, NULL };
1667 static TYPELIB my_locale_typelib_ab_day_names_sl_SI =
1668  { array_elements(my_locale_ab_day_names_sl_SI)-1, "", my_locale_ab_day_names_sl_SI, NULL };
1669 MY_LOCALE my_locale_sl_SI
1670 (
1671   46,
1672   "sl_SI",
1673   "Slovenian - Slovenia",
1674   FALSE,
1675   &my_locale_typelib_month_names_sl_SI,
1676   &my_locale_typelib_ab_month_names_sl_SI,
1677   &my_locale_typelib_day_names_sl_SI,
1678   &my_locale_typelib_ab_day_names_sl_SI,
1679   9,
1680   10,
1681   ',',        /* decimal point sl_SI */
1682   ' ',        /* thousands_sep sl_SI */
1683   "\x80\x80", /* grouping      sl_SI */
1684   &global_errmsgs[en_US]
1685 );
1686 /***** LOCALE END sl_SI *****/
1687 
1688 /***** LOCALE BEGIN sq_AL: Albanian - Albania *****/
1689 static const char *my_locale_month_names_sq_AL[13] =
1690  {"janar","shkurt","mars","prill","maj","qershor","korrik","gusht","shtator","tetor","nëntor","dhjetor", NullS };
1691 static const char *my_locale_ab_month_names_sq_AL[13] =
1692  {"Jan","Shk","Mar","Pri","Maj","Qer","Kor","Gsh","Sht","Tet","Nën","Dhj", NullS };
1693 static const char *my_locale_day_names_sq_AL[8] =
1694  {"e hënë ","e martë ","e mërkurë ","e enjte ","e premte ","e shtunë ","e diel ", NullS };
1695 static const char *my_locale_ab_day_names_sq_AL[8] =
1696  {"Hën ","Mar ","Mër ","Enj ","Pre ","Sht ","Die ", NullS };
1697 static TYPELIB my_locale_typelib_month_names_sq_AL =
1698  { array_elements(my_locale_month_names_sq_AL)-1, "", my_locale_month_names_sq_AL, NULL };
1699 static TYPELIB my_locale_typelib_ab_month_names_sq_AL =
1700  { array_elements(my_locale_ab_month_names_sq_AL)-1, "", my_locale_ab_month_names_sq_AL, NULL };
1701 static TYPELIB my_locale_typelib_day_names_sq_AL =
1702  { array_elements(my_locale_day_names_sq_AL)-1, "", my_locale_day_names_sq_AL, NULL };
1703 static TYPELIB my_locale_typelib_ab_day_names_sq_AL =
1704  { array_elements(my_locale_ab_day_names_sq_AL)-1, "", my_locale_ab_day_names_sq_AL, NULL };
1705 MY_LOCALE my_locale_sq_AL
1706 (
1707   47,
1708   "sq_AL",
1709   "Albanian - Albania",
1710   FALSE,
1711   &my_locale_typelib_month_names_sq_AL,
1712   &my_locale_typelib_ab_month_names_sq_AL,
1713   &my_locale_typelib_day_names_sq_AL,
1714   &my_locale_typelib_ab_day_names_sq_AL,
1715   7,
1716   10,
1717   ',',        /* decimal point sq_AL */
1718   '.',        /* thousands_sep sq_AL */
1719   "\x03",     /* grouping      sq_AL */
1720   &global_errmsgs[en_US]
1721 );
1722 /***** LOCALE END sq_AL *****/
1723 
1724 /***** LOCALE BEGIN sr_RS: Serbian - Serbia *****/
1725 static const char *my_locale_month_names_sr_RS[13] =
1726  {"januar","februar","mart","april","maj","juni","juli","avgust","septembar","oktobar","novembar","decembar", NullS };
1727 static const char *my_locale_ab_month_names_sr_RS[13] =
1728  {"jan","feb","mar","apr","maj","jun","jul","avg","sep","okt","nov","dec", NullS };
1729 static const char *my_locale_day_names_sr_RS[8] =
1730  {"ponedeljak","utorak","sreda","četvrtak","petak","subota","nedelja", NullS };
1731 static const char *my_locale_ab_day_names_sr_RS[8] =
1732  {"pon","uto","sre","čet","pet","sub","ned", NullS };
1733 static TYPELIB my_locale_typelib_month_names_sr_RS =
1734  { array_elements(my_locale_month_names_sr_RS)-1, "", my_locale_month_names_sr_RS, NULL };
1735 static TYPELIB my_locale_typelib_ab_month_names_sr_RS =
1736  { array_elements(my_locale_ab_month_names_sr_RS)-1, "", my_locale_ab_month_names_sr_RS, NULL };
1737 static TYPELIB my_locale_typelib_day_names_sr_RS =
1738  { array_elements(my_locale_day_names_sr_RS)-1, "", my_locale_day_names_sr_RS, NULL };
1739 static TYPELIB my_locale_typelib_ab_day_names_sr_RS =
1740  { array_elements(my_locale_ab_day_names_sr_RS)-1, "", my_locale_ab_day_names_sr_RS, NULL };
1741 MY_LOCALE my_locale_sr_YU /* Deprecated, use sr_RS instead */
1742 (
1743   48,
1744   "sr_YU",
1745   "Serbian - Yugoslavia",
1746   FALSE,
1747   &my_locale_typelib_month_names_sr_RS,
1748   &my_locale_typelib_ab_month_names_sr_RS,
1749   &my_locale_typelib_day_names_sr_RS,
1750   &my_locale_typelib_ab_day_names_sr_RS,
1751   9,
1752   10,
1753   '.',        /* decimal point sr_RS */
1754   '\0',       /* thousands_sep sr_RS */
1755   "\x80",     /* grouping      sr_RS */
1756   &global_errmsgs[sr_RS]
1757 );
1758 
1759 MY_LOCALE my_locale_sr_RS
1760 (
1761   48,
1762   "sr_RS",
1763   "Serbian - Serbia",
1764   FALSE,
1765   &my_locale_typelib_month_names_sr_RS,
1766   &my_locale_typelib_ab_month_names_sr_RS,
1767   &my_locale_typelib_day_names_sr_RS,
1768   &my_locale_typelib_ab_day_names_sr_RS,
1769   9,
1770   10,
1771   '.',        /* decimal point sr_RS */
1772   '\0',       /* thousands_sep sr_RS */
1773   "\x80",     /* grouping      sr_RS */
1774   &global_errmsgs[sr_RS]
1775 );
1776 /***** LOCALE END sr_RS *****/
1777 
1778 /***** LOCALE BEGIN sv_SE: Swedish - Sweden *****/
1779 static const char *my_locale_month_names_sv_SE[13] =
1780  {"januari","februari","mars","april","maj","juni","juli","augusti","september","oktober","november","december", NullS };
1781 static const char *my_locale_ab_month_names_sv_SE[13] =
1782  {"jan","feb","mar","apr","maj","jun","jul","aug","sep","okt","nov","dec", NullS };
1783 static const char *my_locale_day_names_sv_SE[8] =
1784  {"måndag","tisdag","onsdag","torsdag","fredag","lördag","söndag", NullS };
1785 static const char *my_locale_ab_day_names_sv_SE[8] =
1786  {"mån","tis","ons","tor","fre","lör","sön", NullS };
1787 static TYPELIB my_locale_typelib_month_names_sv_SE =
1788  { array_elements(my_locale_month_names_sv_SE)-1, "", my_locale_month_names_sv_SE, NULL };
1789 static TYPELIB my_locale_typelib_ab_month_names_sv_SE =
1790  { array_elements(my_locale_ab_month_names_sv_SE)-1, "", my_locale_ab_month_names_sv_SE, NULL };
1791 static TYPELIB my_locale_typelib_day_names_sv_SE =
1792  { array_elements(my_locale_day_names_sv_SE)-1, "", my_locale_day_names_sv_SE, NULL };
1793 static TYPELIB my_locale_typelib_ab_day_names_sv_SE =
1794  { array_elements(my_locale_ab_day_names_sv_SE)-1, "", my_locale_ab_day_names_sv_SE, NULL };
1795 MY_LOCALE my_locale_sv_SE
1796 (
1797   3,
1798   "sv_SE",
1799   "Swedish - Sweden",
1800   FALSE,
1801   &my_locale_typelib_month_names_sv_SE,
1802   &my_locale_typelib_ab_month_names_sv_SE,
1803   &my_locale_typelib_day_names_sv_SE,
1804   &my_locale_typelib_ab_day_names_sv_SE,
1805   9,
1806   7,
1807   ',',        /* decimal point sv_SE */
1808   ' ',        /* thousands_sep sv_SE */
1809   "\x03\x03", /* grouping      sv_SE */
1810   &global_errmsgs[sv_SE]
1811 );
1812 /***** LOCALE END sv_SE *****/
1813 
1814 /***** LOCALE BEGIN ta_IN: Tamil - India *****/
1815 static const char *my_locale_month_names_ta_IN[13] =
1816  {"ஜனவரி","பெப்ரவரி","மார்ச்","ஏப்ரல்","மே","ஜூன்","ஜூலை","ஆகஸ்ட்","செப்டம்பர்","அக்டோபர்","நவம்பர்","டிசம்பர்r", NullS };
1817 static const char *my_locale_ab_month_names_ta_IN[13] =
1818  {"ஜனவரி","பெப்ரவரி","மார்ச்","ஏப்ரல்","மே","ஜூன்","ஜூலை","ஆகஸ்ட்","செப்டம்பர்","அக்டோபர்","நவம்பர்","டிசம்பர்r", NullS };
1819 static const char *my_locale_day_names_ta_IN[8] =
1820  {"திங்கள்","செவ்வாய்","புதன்","வியாழன்","வெள்ளி","சனி","ஞாயிறு", NullS };
1821 static const char *my_locale_ab_day_names_ta_IN[8] =
1822  {"த","ச","ப","வ","வ","ச","ஞ", NullS };
1823 static TYPELIB my_locale_typelib_month_names_ta_IN =
1824  { array_elements(my_locale_month_names_ta_IN)-1, "", my_locale_month_names_ta_IN, NULL };
1825 static TYPELIB my_locale_typelib_ab_month_names_ta_IN =
1826  { array_elements(my_locale_ab_month_names_ta_IN)-1, "", my_locale_ab_month_names_ta_IN, NULL };
1827 static TYPELIB my_locale_typelib_day_names_ta_IN =
1828  { array_elements(my_locale_day_names_ta_IN)-1, "", my_locale_day_names_ta_IN, NULL };
1829 static TYPELIB my_locale_typelib_ab_day_names_ta_IN =
1830  { array_elements(my_locale_ab_day_names_ta_IN)-1, "", my_locale_ab_day_names_ta_IN, NULL };
1831 MY_LOCALE my_locale_ta_IN
1832 (
1833   49,
1834   "ta_IN",
1835   "Tamil - India",
1836   FALSE,
1837   &my_locale_typelib_month_names_ta_IN,
1838   &my_locale_typelib_ab_month_names_ta_IN,
1839   &my_locale_typelib_day_names_ta_IN,
1840   &my_locale_typelib_ab_day_names_ta_IN,
1841   10,
1842   8,
1843   '.',        /* decimal point ta_IN */
1844   ',',        /* thousands_sep ta_IN */
1845   "\x03\x02", /* grouping      ta_IN */
1846   &global_errmsgs[en_US]
1847 );
1848 /***** LOCALE END ta_IN *****/
1849 
1850 /***** LOCALE BEGIN te_IN: Telugu - India *****/
1851 static const char *my_locale_month_names_te_IN[13] =
1852  {"జనవరి","ఫిబ్రవరి","మార్చి","ఏప్రిల్","మే","జూన్","జూలై","ఆగస్టు","సెప్టెంబర్","అక్టోబర్","నవంబర్","డిసెంబర్", NullS };
1853 static const char *my_locale_ab_month_names_te_IN[13] =
1854  {"జనవరి","ఫిబ్రవరి","మార్చి","ఏప్రిల్","మే","జూన్","జూలై","ఆగస్టు","సెప్టెంబర్","అక్టోబర్","నవంబర్","డిసెంబర్", NullS };
1855 static const char *my_locale_day_names_te_IN[8] =
1856  {"సోమవారం","మంగళవారం","బుధవారం","గురువారం","శుక్రవారం","శనివారం","ఆదివారం", NullS };
1857 static const char *my_locale_ab_day_names_te_IN[8] =
1858  {"సోమ","మంగళ","బుధ","గురు","శుక్ర","శని","ఆది", NullS };
1859 static TYPELIB my_locale_typelib_month_names_te_IN =
1860  { array_elements(my_locale_month_names_te_IN)-1, "", my_locale_month_names_te_IN, NULL };
1861 static TYPELIB my_locale_typelib_ab_month_names_te_IN =
1862  { array_elements(my_locale_ab_month_names_te_IN)-1, "", my_locale_ab_month_names_te_IN, NULL };
1863 static TYPELIB my_locale_typelib_day_names_te_IN =
1864  { array_elements(my_locale_day_names_te_IN)-1, "", my_locale_day_names_te_IN, NULL };
1865 static TYPELIB my_locale_typelib_ab_day_names_te_IN =
1866  { array_elements(my_locale_ab_day_names_te_IN)-1, "", my_locale_ab_day_names_te_IN, NULL };
1867 MY_LOCALE my_locale_te_IN
1868 (
1869   50,
1870   "te_IN",
1871   "Telugu - India",
1872   FALSE,
1873   &my_locale_typelib_month_names_te_IN,
1874   &my_locale_typelib_ab_month_names_te_IN,
1875   &my_locale_typelib_day_names_te_IN,
1876   &my_locale_typelib_ab_day_names_te_IN,
1877   10,
1878   9,
1879   '.',        /* decimal point te_IN */
1880   ',',        /* thousands_sep te_IN */
1881   "\x03\x02", /* grouping      te_IN */
1882   &global_errmsgs[en_US]
1883 );
1884 /***** LOCALE END te_IN *****/
1885 
1886 /***** LOCALE BEGIN th_TH: Thai - Thailand *****/
1887 static const char *my_locale_month_names_th_TH[13] =
1888  {"มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม", NullS };
1889 static const char *my_locale_ab_month_names_th_TH[13] =
1890  {"ม.ค.","ก.พ.","มี.ค.","เม.ย.","พ.ค.","มิ.ย.","ก.ค.","ส.ค.","ก.ย.","ต.ค.","พ.ย.","ธ.ค.", NullS };
1891 static const char *my_locale_day_names_th_TH[8] =
1892  {"จันทร์","อังคาร","พุธ","พฤหัสบดี","ศุกร์","เสาร์","อาทิตย์", NullS };
1893 static const char *my_locale_ab_day_names_th_TH[8] =
1894  {"จ.","อ.","พ.","พฤ.","ศ.","ส.","อา.", NullS };
1895 static TYPELIB my_locale_typelib_month_names_th_TH =
1896  { array_elements(my_locale_month_names_th_TH)-1, "", my_locale_month_names_th_TH, NULL };
1897 static TYPELIB my_locale_typelib_ab_month_names_th_TH =
1898  { array_elements(my_locale_ab_month_names_th_TH)-1, "", my_locale_ab_month_names_th_TH, NULL };
1899 static TYPELIB my_locale_typelib_day_names_th_TH =
1900  { array_elements(my_locale_day_names_th_TH)-1, "", my_locale_day_names_th_TH, NULL };
1901 static TYPELIB my_locale_typelib_ab_day_names_th_TH =
1902  { array_elements(my_locale_ab_day_names_th_TH)-1, "", my_locale_ab_day_names_th_TH, NULL };
1903 MY_LOCALE my_locale_th_TH
1904 (
1905   51,
1906   "th_TH",
1907   "Thai - Thailand",
1908   FALSE,
1909   &my_locale_typelib_month_names_th_TH,
1910   &my_locale_typelib_ab_month_names_th_TH,
1911   &my_locale_typelib_day_names_th_TH,
1912   &my_locale_typelib_ab_day_names_th_TH,
1913   10,
1914   8,
1915   '.',        /* decimal point th_TH */
1916   ',',        /* thousands_sep th_TH */
1917   "\x03",     /* grouping      th_TH */
1918   &global_errmsgs[en_US]
1919 );
1920 /***** LOCALE END th_TH *****/
1921 
1922 /***** LOCALE BEGIN tr_TR: Turkish - Turkey *****/
1923 static const char *my_locale_month_names_tr_TR[13] =
1924  {"Ocak","Şubat","Mart","Nisan","Mayıs","Haziran","Temmuz","Ağustos","Eylül","Ekim","Kasım","Aralık", NullS };
1925 static const char *my_locale_ab_month_names_tr_TR[13] =
1926  {"Oca","Şub","Mar","Nis","May","Haz","Tem","Ağu","Eyl","Eki","Kas","Ara", NullS };
1927 static const char *my_locale_day_names_tr_TR[8] =
1928  {"Pazartesi","Salı","Çarşamba","Perşembe","Cuma","Cumartesi","Pazar", NullS };
1929 static const char *my_locale_ab_day_names_tr_TR[8] =
1930  {"Pzt","Sal","Çrş","Prş","Cum","Cts","Paz", NullS };
1931 static TYPELIB my_locale_typelib_month_names_tr_TR =
1932  { array_elements(my_locale_month_names_tr_TR)-1, "", my_locale_month_names_tr_TR, NULL };
1933 static TYPELIB my_locale_typelib_ab_month_names_tr_TR =
1934  { array_elements(my_locale_ab_month_names_tr_TR)-1, "", my_locale_ab_month_names_tr_TR, NULL };
1935 static TYPELIB my_locale_typelib_day_names_tr_TR =
1936  { array_elements(my_locale_day_names_tr_TR)-1, "", my_locale_day_names_tr_TR, NULL };
1937 static TYPELIB my_locale_typelib_ab_day_names_tr_TR =
1938  { array_elements(my_locale_ab_day_names_tr_TR)-1, "", my_locale_ab_day_names_tr_TR, NULL };
1939 MY_LOCALE my_locale_tr_TR
1940 (
1941   52,
1942   "tr_TR",
1943   "Turkish - Turkey",
1944   FALSE,
1945   &my_locale_typelib_month_names_tr_TR,
1946   &my_locale_typelib_ab_month_names_tr_TR,
1947   &my_locale_typelib_day_names_tr_TR,
1948   &my_locale_typelib_ab_day_names_tr_TR,
1949   7,
1950   9,
1951   ',',        /* decimal point tr_TR */
1952   '.',        /* thousands_sep tr_TR */
1953   "\x03\x03", /* grouping      tr_TR */
1954   &global_errmsgs[en_US]
1955 );
1956 /***** LOCALE END tr_TR *****/
1957 
1958 /***** LOCALE BEGIN uk_UA: Ukrainian - Ukraine *****/
1959 static const char *my_locale_month_names_uk_UA[13] =
1960  {"Січень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","Вересень","Жовтень","Листопад","Грудень", NullS };
1961 static const char *my_locale_ab_month_names_uk_UA[13] =
1962  {"Січ","Лют","Бер","Кві","Тра","Чер","Лип","Сер","Вер","Жов","Лис","Гру", NullS };
1963 static const char *my_locale_day_names_uk_UA[8] =
1964  {"Понеділок","Вівторок","Середа","Четвер","П'ятниця","Субота","Неділя", NullS };
1965 static const char *my_locale_ab_day_names_uk_UA[8] =
1966  {"Пнд","Втр","Срд","Чтв","Птн","Сбт","Ндл", NullS };
1967 static TYPELIB my_locale_typelib_month_names_uk_UA =
1968  { array_elements(my_locale_month_names_uk_UA)-1, "", my_locale_month_names_uk_UA, NULL };
1969 static TYPELIB my_locale_typelib_ab_month_names_uk_UA =
1970  { array_elements(my_locale_ab_month_names_uk_UA)-1, "", my_locale_ab_month_names_uk_UA, NULL };
1971 static TYPELIB my_locale_typelib_day_names_uk_UA =
1972  { array_elements(my_locale_day_names_uk_UA)-1, "", my_locale_day_names_uk_UA, NULL };
1973 static TYPELIB my_locale_typelib_ab_day_names_uk_UA =
1974  { array_elements(my_locale_ab_day_names_uk_UA)-1, "", my_locale_ab_day_names_uk_UA, NULL };
1975 MY_LOCALE my_locale_uk_UA
1976 (
1977   53,
1978   "uk_UA",
1979   "Ukrainian - Ukraine",
1980   FALSE,
1981   &my_locale_typelib_month_names_uk_UA,
1982   &my_locale_typelib_ab_month_names_uk_UA,
1983   &my_locale_typelib_day_names_uk_UA,
1984   &my_locale_typelib_ab_day_names_uk_UA,
1985   8,
1986   9,
1987   ',',        /* decimal point uk_UA */
1988   '.',        /* thousands_sep uk_UA */
1989   "\x03\x03", /* grouping      uk_UA */
1990   &global_errmsgs[uk_UA]
1991 );
1992 /***** LOCALE END uk_UA *****/
1993 
1994 /***** LOCALE BEGIN ur_PK: Urdu - Pakistan *****/
1995 static const char *my_locale_month_names_ur_PK[13] =
1996  {"جنوري","فروري","مارچ","اپريل","مٓی","جون","جولاي","اگست","ستمبر","اكتوبر","نومبر","دسمبر", NullS };
1997 static const char *my_locale_ab_month_names_ur_PK[13] =
1998  {"جنوري","فروري","مارچ","اپريل","مٓی","جون","جولاي","اگست","ستمبر","اكتوبر","نومبر","دسمبر", NullS };
1999 static const char *my_locale_day_names_ur_PK[8] =
2000  {"پير","منگل","بدھ","جمعرات","جمعه","هفته","اتوار", NullS };
2001 static const char *my_locale_ab_day_names_ur_PK[8] =
2002  {"پير","منگل","بدھ","جمعرات","جمعه","هفته","اتوار", NullS };
2003 static TYPELIB my_locale_typelib_month_names_ur_PK =
2004  { array_elements(my_locale_month_names_ur_PK)-1, "", my_locale_month_names_ur_PK, NULL };
2005 static TYPELIB my_locale_typelib_ab_month_names_ur_PK =
2006  { array_elements(my_locale_ab_month_names_ur_PK)-1, "", my_locale_ab_month_names_ur_PK, NULL };
2007 static TYPELIB my_locale_typelib_day_names_ur_PK =
2008  { array_elements(my_locale_day_names_ur_PK)-1, "", my_locale_day_names_ur_PK, NULL };
2009 static TYPELIB my_locale_typelib_ab_day_names_ur_PK =
2010  { array_elements(my_locale_ab_day_names_ur_PK)-1, "", my_locale_ab_day_names_ur_PK, NULL };
2011 MY_LOCALE my_locale_ur_PK
2012 (
2013   54,
2014   "ur_PK",
2015   "Urdu - Pakistan",
2016   FALSE,
2017   &my_locale_typelib_month_names_ur_PK,
2018   &my_locale_typelib_ab_month_names_ur_PK,
2019   &my_locale_typelib_day_names_ur_PK,
2020   &my_locale_typelib_ab_day_names_ur_PK,
2021   6,
2022   6,
2023   '.',        /* decimal point ur_PK */
2024   ',',        /* thousands_sep ur_PK */
2025   "\x03\x03", /* grouping      ur_PK */
2026   &global_errmsgs[en_US]
2027 );
2028 /***** LOCALE END ur_PK *****/
2029 
2030 /***** LOCALE BEGIN vi_VN: Vietnamese - Vietnam *****/
2031 static const char *my_locale_month_names_vi_VN[13] =
2032  {"Tháng một","Tháng hai","Tháng ba","Tháng tư","Tháng năm","Tháng sáu","Tháng bảy","Tháng tám","Tháng chín","Tháng mười","Tháng mười một","Tháng mười hai", NullS };
2033 static const char *my_locale_ab_month_names_vi_VN[13] =
2034  {"Thg 1","Thg 2","Thg 3","Thg 4","Thg 5","Thg 6","Thg 7","Thg 8","Thg 9","Thg 10","Thg 11","Thg 12", NullS };
2035 static const char *my_locale_day_names_vi_VN[8] =
2036  {"Thứ hai ","Thứ ba ","Thứ tư ","Thứ năm ","Thứ sáu ","Thứ bảy ","Chủ nhật ", NullS };
2037 static const char *my_locale_ab_day_names_vi_VN[8] =
2038  {"Th 2 ","Th 3 ","Th 4 ","Th 5 ","Th 6 ","Th 7 ","CN ", NullS };
2039 static TYPELIB my_locale_typelib_month_names_vi_VN =
2040  { array_elements(my_locale_month_names_vi_VN)-1, "", my_locale_month_names_vi_VN, NULL };
2041 static TYPELIB my_locale_typelib_ab_month_names_vi_VN =
2042  { array_elements(my_locale_ab_month_names_vi_VN)-1, "", my_locale_ab_month_names_vi_VN, NULL };
2043 static TYPELIB my_locale_typelib_day_names_vi_VN =
2044  { array_elements(my_locale_day_names_vi_VN)-1, "", my_locale_day_names_vi_VN, NULL };
2045 static TYPELIB my_locale_typelib_ab_day_names_vi_VN =
2046  { array_elements(my_locale_ab_day_names_vi_VN)-1, "", my_locale_ab_day_names_vi_VN, NULL };
2047 MY_LOCALE my_locale_vi_VN
2048 (
2049   55,
2050   "vi_VN",
2051   "Vietnamese - Vietnam",
2052   FALSE,
2053   &my_locale_typelib_month_names_vi_VN,
2054   &my_locale_typelib_ab_month_names_vi_VN,
2055   &my_locale_typelib_day_names_vi_VN,
2056   &my_locale_typelib_ab_day_names_vi_VN,
2057   16,
2058   11,
2059   ',',        /* decimal point vi_VN */
2060   '.',        /* thousands_sep vi_VN */
2061   "\x03\x03", /* grouping      vi_VN */
2062   &global_errmsgs[en_US]
2063 );
2064 /***** LOCALE END vi_VN *****/
2065 
2066 /***** LOCALE BEGIN zh_CN: Chinese - Peoples Republic of China *****/
2067 static const char *my_locale_month_names_zh_CN[13] =
2068  {"一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月", NullS };
2069 static const char *my_locale_ab_month_names_zh_CN[13] =
2070  {" 1月"," 2月"," 3月"," 4月"," 5月"," 6月"," 7月"," 8月"," 9月","10月","11月","12月", NullS };
2071 static const char *my_locale_day_names_zh_CN[8] =
2072  {"星期一","星期二","星期三","星期四","星期五","星期六","星期日", NullS };
2073 static const char *my_locale_ab_day_names_zh_CN[8] =
2074  {"一","二","三","四","五","六","日", NullS };
2075 static TYPELIB my_locale_typelib_month_names_zh_CN =
2076  { array_elements(my_locale_month_names_zh_CN)-1, "", my_locale_month_names_zh_CN, NULL };
2077 static TYPELIB my_locale_typelib_ab_month_names_zh_CN =
2078  { array_elements(my_locale_ab_month_names_zh_CN)-1, "", my_locale_ab_month_names_zh_CN, NULL };
2079 static TYPELIB my_locale_typelib_day_names_zh_CN =
2080  { array_elements(my_locale_day_names_zh_CN)-1, "", my_locale_day_names_zh_CN, NULL };
2081 static TYPELIB my_locale_typelib_ab_day_names_zh_CN =
2082  { array_elements(my_locale_ab_day_names_zh_CN)-1, "", my_locale_ab_day_names_zh_CN, NULL };
2083 MY_LOCALE my_locale_zh_CN
2084 (
2085   56,
2086   "zh_CN",
2087   "Chinese - Peoples Republic of China",
2088   FALSE,
2089   &my_locale_typelib_month_names_zh_CN,
2090   &my_locale_typelib_ab_month_names_zh_CN,
2091   &my_locale_typelib_day_names_zh_CN,
2092   &my_locale_typelib_ab_day_names_zh_CN,
2093   3,
2094   3,
2095   '.',        /* decimal point zh_CN */
2096   ',',        /* thousands_sep zh_CN */
2097   "\x03",     /* grouping      zh_CN */
2098   &global_errmsgs[en_US]
2099 );
2100 /***** LOCALE END zh_CN *****/
2101 
2102 /***** LOCALE BEGIN zh_TW: Chinese - Taiwan *****/
2103 static const char *my_locale_month_names_zh_TW[13] =
2104  {"一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月", NullS };
2105 static const char *my_locale_ab_month_names_zh_TW[13] =
2106  {" 1月"," 2月"," 3月"," 4月"," 5月"," 6月"," 7月"," 8月"," 9月","10月","11月","12月", NullS };
2107 static const char *my_locale_day_names_zh_TW[8] =
2108  {"週一","週二","週三","週四","週五","週六","週日", NullS };
2109 static const char *my_locale_ab_day_names_zh_TW[8] =
2110  {"一","二","三","四","五","六","日", NullS };
2111 static TYPELIB my_locale_typelib_month_names_zh_TW =
2112  { array_elements(my_locale_month_names_zh_TW)-1, "", my_locale_month_names_zh_TW, NULL };
2113 static TYPELIB my_locale_typelib_ab_month_names_zh_TW =
2114  { array_elements(my_locale_ab_month_names_zh_TW)-1, "", my_locale_ab_month_names_zh_TW, NULL };
2115 static TYPELIB my_locale_typelib_day_names_zh_TW =
2116  { array_elements(my_locale_day_names_zh_TW)-1, "", my_locale_day_names_zh_TW, NULL };
2117 static TYPELIB my_locale_typelib_ab_day_names_zh_TW =
2118  { array_elements(my_locale_ab_day_names_zh_TW)-1, "", my_locale_ab_day_names_zh_TW, NULL };
2119 MY_LOCALE my_locale_zh_TW
2120 (
2121   57,
2122   "zh_TW",
2123   "Chinese - Taiwan",
2124   FALSE,
2125   &my_locale_typelib_month_names_zh_TW,
2126   &my_locale_typelib_ab_month_names_zh_TW,
2127   &my_locale_typelib_day_names_zh_TW,
2128   &my_locale_typelib_ab_day_names_zh_TW,
2129   3,
2130   2,
2131   '.',        /* decimal point zh_TW */
2132   ',',        /* thousands_sep zh_TW */
2133   "\x03",     /* grouping      zh_TW */
2134   &global_errmsgs[en_US]
2135 );
2136 /***** LOCALE END zh_TW *****/
2137 
2138 /***** LOCALE BEGIN ar_DZ: Arabic - Algeria *****/
2139 MY_LOCALE my_locale_ar_DZ
2140 (
2141   58,
2142   "ar_DZ",
2143   "Arabic - Algeria",
2144   FALSE,
2145   &my_locale_typelib_month_names_ar_BH,
2146   &my_locale_typelib_ab_month_names_ar_BH,
2147   &my_locale_typelib_day_names_ar_BH,
2148   &my_locale_typelib_ab_day_names_ar_BH,
2149   6,
2150   8,
2151   '.',        /* decimal point ar_DZ */
2152   ',',        /* thousands_sep ar_DZ */
2153   "\x03",     /* grouping      ar_DZ */
2154   &global_errmsgs[en_US]
2155 );
2156 /***** LOCALE END ar_DZ *****/
2157 
2158 /***** LOCALE BEGIN ar_EG: Arabic - Egypt *****/
2159 MY_LOCALE my_locale_ar_EG
2160 (
2161   59,
2162   "ar_EG",
2163   "Arabic - Egypt",
2164   FALSE,
2165   &my_locale_typelib_month_names_ar_BH,
2166   &my_locale_typelib_ab_month_names_ar_BH,
2167   &my_locale_typelib_day_names_ar_BH,
2168   &my_locale_typelib_ab_day_names_ar_BH,
2169   6,
2170   8,
2171   '.',        /* decimal point ar_EG */
2172   ',',        /* thousands_sep ar_EG */
2173   "\x03",     /* grouping      ar_EG */
2174   &global_errmsgs[en_US]
2175 );
2176 /***** LOCALE END ar_EG *****/
2177 
2178 /***** LOCALE BEGIN ar_IN: Arabic - Iran *****/
2179 MY_LOCALE my_locale_ar_IN
2180 (
2181   60,
2182   "ar_IN",
2183   "Arabic - Iran",
2184   FALSE,
2185   &my_locale_typelib_month_names_ar_BH,
2186   &my_locale_typelib_ab_month_names_ar_BH,
2187   &my_locale_typelib_day_names_ar_BH,
2188   &my_locale_typelib_ab_day_names_ar_BH,
2189   6,
2190   8,
2191   '.',        /* decimal point ar_IN */
2192   ',',        /* thousands_sep ar_IN */
2193   "\x03",     /* grouping      ar_IN */
2194   &global_errmsgs[en_US]
2195 );
2196 /***** LOCALE END ar_IN *****/
2197 
2198 /***** LOCALE BEGIN ar_IQ: Arabic - Iraq *****/
2199 MY_LOCALE my_locale_ar_IQ
2200 (
2201   61,
2202   "ar_IQ",
2203   "Arabic - Iraq",
2204   FALSE,
2205   &my_locale_typelib_month_names_ar_BH,
2206   &my_locale_typelib_ab_month_names_ar_BH,
2207   &my_locale_typelib_day_names_ar_BH,
2208   &my_locale_typelib_ab_day_names_ar_BH,
2209   6,
2210   8,
2211   '.',        /* decimal point ar_IQ */
2212   ',',        /* thousands_sep ar_IQ */
2213   "\x03",     /* grouping      ar_IQ */
2214   &global_errmsgs[en_US]
2215 );
2216 /***** LOCALE END ar_IQ *****/
2217 
2218 /***** LOCALE BEGIN ar_KW: Arabic - Kuwait *****/
2219 MY_LOCALE my_locale_ar_KW
2220 (
2221   62,
2222   "ar_KW",
2223   "Arabic - Kuwait",
2224   FALSE,
2225   &my_locale_typelib_month_names_ar_BH,
2226   &my_locale_typelib_ab_month_names_ar_BH,
2227   &my_locale_typelib_day_names_ar_BH,
2228   &my_locale_typelib_ab_day_names_ar_BH,
2229   6,
2230   8,
2231   '.',        /* decimal point ar_KW */
2232   ',',        /* thousands_sep ar_KW */
2233   "\x03",     /* grouping      ar_KW */
2234   &global_errmsgs[en_US]
2235 );
2236 /***** LOCALE END ar_KW *****/
2237 
2238 /***** LOCALE BEGIN ar_LB: Arabic - Lebanon *****/
2239 MY_LOCALE my_locale_ar_LB
2240 (
2241   63,
2242   "ar_LB",
2243   "Arabic - Lebanon",
2244   FALSE,
2245   &my_locale_typelib_month_names_ar_JO,
2246   &my_locale_typelib_ab_month_names_ar_JO,
2247   &my_locale_typelib_day_names_ar_JO,
2248   &my_locale_typelib_ab_day_names_ar_JO,
2249   12,
2250   8,
2251   '.',        /* decimal point ar_LB */
2252   ',',        /* thousands_sep ar_LB */
2253   "\x03",     /* grouping      ar_LB */
2254   &global_errmsgs[en_US]
2255 );
2256 /***** LOCALE END ar_LB *****/
2257 
2258 /***** LOCALE BEGIN ar_LY: Arabic - Libya *****/
2259 MY_LOCALE my_locale_ar_LY
2260 (
2261   64,
2262   "ar_LY",
2263   "Arabic - Libya",
2264   FALSE,
2265   &my_locale_typelib_month_names_ar_BH,
2266   &my_locale_typelib_ab_month_names_ar_BH,
2267   &my_locale_typelib_day_names_ar_BH,
2268   &my_locale_typelib_ab_day_names_ar_BH,
2269   6,
2270   8,
2271   '.',        /* decimal point ar_LY */
2272   ',',        /* thousands_sep ar_LY */
2273   "\x03",     /* grouping      ar_LY */
2274   &global_errmsgs[en_US]
2275 );
2276 /***** LOCALE END ar_LY *****/
2277 
2278 /***** LOCALE BEGIN ar_MA: Arabic - Morocco *****/
2279 MY_LOCALE my_locale_ar_MA
2280 (
2281   65,
2282   "ar_MA",
2283   "Arabic - Morocco",
2284   FALSE,
2285   &my_locale_typelib_month_names_ar_BH,
2286   &my_locale_typelib_ab_month_names_ar_BH,
2287   &my_locale_typelib_day_names_ar_BH,
2288   &my_locale_typelib_ab_day_names_ar_BH,
2289   6,
2290   8,
2291   '.',        /* decimal point ar_MA */
2292   ',',        /* thousands_sep ar_MA */
2293   "\x03",     /* grouping      ar_MA */
2294   &global_errmsgs[en_US]
2295 );
2296 /***** LOCALE END ar_MA *****/
2297 
2298 /***** LOCALE BEGIN ar_OM: Arabic - Oman *****/
2299 MY_LOCALE my_locale_ar_OM
2300 (
2301   66,
2302   "ar_OM",
2303   "Arabic - Oman",
2304   FALSE,
2305   &my_locale_typelib_month_names_ar_BH,
2306   &my_locale_typelib_ab_month_names_ar_BH,
2307   &my_locale_typelib_day_names_ar_BH,
2308   &my_locale_typelib_ab_day_names_ar_BH,
2309   6,
2310   8,
2311   '.',        /* decimal point ar_OM */
2312   ',',        /* thousands_sep ar_OM */
2313   "\x03",     /* grouping      ar_OM */
2314   &global_errmsgs[en_US]
2315 );
2316 /***** LOCALE END ar_OM *****/
2317 
2318 /***** LOCALE BEGIN ar_QA: Arabic - Qatar *****/
2319 MY_LOCALE my_locale_ar_QA
2320 (
2321   67,
2322   "ar_QA",
2323   "Arabic - Qatar",
2324   FALSE,
2325   &my_locale_typelib_month_names_ar_BH,
2326   &my_locale_typelib_ab_month_names_ar_BH,
2327   &my_locale_typelib_day_names_ar_BH,
2328   &my_locale_typelib_ab_day_names_ar_BH,
2329   6,
2330   8,
2331   '.',        /* decimal point ar_QA */
2332   ',',        /* thousands_sep ar_QA */
2333   "\x03",     /* grouping      ar_QA */
2334   &global_errmsgs[en_US]
2335 );
2336 /***** LOCALE END ar_QA *****/
2337 
2338 /***** LOCALE BEGIN ar_SD: Arabic - Sudan *****/
2339 MY_LOCALE my_locale_ar_SD
2340 (
2341   68,
2342   "ar_SD",
2343   "Arabic - Sudan",
2344   FALSE,
2345   &my_locale_typelib_month_names_ar_BH,
2346   &my_locale_typelib_ab_month_names_ar_BH,
2347   &my_locale_typelib_day_names_ar_BH,
2348   &my_locale_typelib_ab_day_names_ar_BH,
2349   6,
2350   8,
2351   '.',        /* decimal point ar_SD */
2352   ',',        /* thousands_sep ar_SD */
2353   "\x03",     /* grouping      ar_SD */
2354   &global_errmsgs[en_US]
2355 );
2356 /***** LOCALE END ar_SD *****/
2357 
2358 /***** LOCALE BEGIN ar_TN: Arabic - Tunisia *****/
2359 MY_LOCALE my_locale_ar_TN
2360 (
2361   69,
2362   "ar_TN",
2363   "Arabic - Tunisia",
2364   FALSE,
2365   &my_locale_typelib_month_names_ar_BH,
2366   &my_locale_typelib_ab_month_names_ar_BH,
2367   &my_locale_typelib_day_names_ar_BH,
2368   &my_locale_typelib_ab_day_names_ar_BH,
2369   6,
2370   8,
2371   '.',        /* decimal point ar_TN */
2372   ',',        /* thousands_sep ar_TN */
2373   "\x03",     /* grouping      ar_TN */
2374   &global_errmsgs[en_US]
2375 );
2376 /***** LOCALE END ar_TN *****/
2377 
2378 /***** LOCALE BEGIN ar_YE: Arabic - Yemen *****/
2379 MY_LOCALE my_locale_ar_YE
2380 (
2381   70,
2382   "ar_YE",
2383   "Arabic - Yemen",
2384   FALSE,
2385   &my_locale_typelib_month_names_ar_BH,
2386   &my_locale_typelib_ab_month_names_ar_BH,
2387   &my_locale_typelib_day_names_ar_BH,
2388   &my_locale_typelib_ab_day_names_ar_BH,
2389   6,
2390   8,
2391   '.',        /* decimal point ar_YE */
2392   ',',        /* thousands_sep ar_YE */
2393   "\x03",     /* grouping      ar_YE */
2394   &global_errmsgs[en_US]
2395 );
2396 /***** LOCALE END ar_YE *****/
2397 
2398 /***** LOCALE BEGIN de_BE: German - Belgium *****/
2399 MY_LOCALE my_locale_de_BE
2400 (
2401   71,
2402   "de_BE",
2403   "German - Belgium",
2404   FALSE,
2405   &my_locale_typelib_month_names_de_DE,
2406   &my_locale_typelib_ab_month_names_de_DE,
2407   &my_locale_typelib_day_names_de_DE,
2408   &my_locale_typelib_ab_day_names_de_DE,
2409   9,
2410   10,
2411   ',',        /* decimal point de_BE */
2412   '.',        /* thousands_sep de_BE */
2413   "\x03\x03", /* grouping    de_BE */
2414   &global_errmsgs[de_DE]
2415 );
2416 /***** LOCALE END de_BE *****/
2417 
2418 /***** LOCALE BEGIN de_CH: German - Switzerland *****/
2419 MY_LOCALE my_locale_de_CH
2420 (
2421   72,
2422   "de_CH",
2423   "German - Switzerland",
2424   FALSE,
2425   &my_locale_typelib_month_names_de_DE,
2426   &my_locale_typelib_ab_month_names_de_DE,
2427   &my_locale_typelib_day_names_de_DE,
2428   &my_locale_typelib_ab_day_names_de_DE,
2429   9,
2430   10,
2431   '.',        /* decimal point de_CH */
2432   '\'',       /* thousands_sep de_CH */
2433   "\x03\x03", /* grouping      de_CH */
2434   &global_errmsgs[de_DE]
2435 );
2436 /***** LOCALE END de_CH *****/
2437 
2438 /***** LOCALE BEGIN de_LU: German - Luxembourg *****/
2439 MY_LOCALE my_locale_de_LU
2440 (
2441   73,
2442   "de_LU",
2443   "German - Luxembourg",
2444   FALSE,
2445   &my_locale_typelib_month_names_de_DE,
2446   &my_locale_typelib_ab_month_names_de_DE,
2447   &my_locale_typelib_day_names_de_DE,
2448   &my_locale_typelib_ab_day_names_de_DE,
2449   9,
2450   10,
2451   ',',        /* decimal point de_LU */
2452   '.',        /* thousands_sep de_LU */
2453   "\x03\x03", /* grouping      de_LU */
2454   &global_errmsgs[de_DE]
2455 );
2456 /***** LOCALE END de_LU *****/
2457 
2458 /***** LOCALE BEGIN en_AU: English - Australia *****/
2459 MY_LOCALE my_locale_en_AU
2460 (
2461   74,
2462   "en_AU",
2463   "English - Australia",
2464   TRUE,
2465   &my_locale_typelib_month_names_en_US,
2466   &my_locale_typelib_ab_month_names_en_US,
2467   &my_locale_typelib_day_names_en_US,
2468   &my_locale_typelib_ab_day_names_en_US,
2469   9,
2470   9,
2471   '.',        /* decimal point en_AU */
2472   ',',        /* thousands_sep en_AU */
2473   "\x03\x03", /* grouping      en_AU */
2474   &global_errmsgs[en_US]
2475 );
2476 /***** LOCALE END en_AU *****/
2477 
2478 /***** LOCALE BEGIN en_CA: English - Canada *****/
2479 MY_LOCALE my_locale_en_CA
2480 (
2481   75,
2482   "en_CA",
2483   "English - Canada",
2484   TRUE,
2485   &my_locale_typelib_month_names_en_US,
2486   &my_locale_typelib_ab_month_names_en_US,
2487   &my_locale_typelib_day_names_en_US,
2488   &my_locale_typelib_ab_day_names_en_US,
2489   9,
2490   9,
2491   '.',        /* decimal point en_CA */
2492   ',',        /* thousands_sep en_CA */
2493   "\x03\x03", /* grouping      en_CA */
2494   &global_errmsgs[en_US]
2495 );
2496 /***** LOCALE END en_CA *****/
2497 
2498 /***** LOCALE BEGIN en_GB: English - United Kingdom *****/
2499 MY_LOCALE my_locale_en_GB
2500 (
2501   1,
2502   "en_GB",
2503   "English - United Kingdom",
2504   TRUE,
2505   &my_locale_typelib_month_names_en_US,
2506   &my_locale_typelib_ab_month_names_en_US,
2507   &my_locale_typelib_day_names_en_US,
2508   &my_locale_typelib_ab_day_names_en_US,
2509   9,
2510   9,
2511   '.',        /* decimal point en_GB */
2512   ',',        /* thousands_sep en_GB */
2513   "\x03\x03", /* grouping      en_GB */
2514   &global_errmsgs[en_US]
2515 );
2516 /***** LOCALE END en_GB *****/
2517 
2518 /***** LOCALE BEGIN en_IN: English - India *****/
2519 MY_LOCALE my_locale_en_IN
2520 (
2521   76,
2522   "en_IN",
2523   "English - India",
2524   TRUE,
2525   &my_locale_typelib_month_names_en_US,
2526   &my_locale_typelib_ab_month_names_en_US,
2527   &my_locale_typelib_day_names_en_US,
2528   &my_locale_typelib_ab_day_names_en_US,
2529   9,
2530   9,
2531   '.',        /* decimal point en_IN */
2532   ',',        /* thousands_sep en_IN */
2533   "\x03\x02", /* grouping      en_IN */
2534   &global_errmsgs[en_US]
2535 );
2536 /***** LOCALE END en_IN *****/
2537 
2538 /***** LOCALE BEGIN en_NZ: English - New Zealand *****/
2539 MY_LOCALE my_locale_en_NZ
2540 (
2541   77,
2542   "en_NZ",
2543   "English - New Zealand",
2544   TRUE,
2545   &my_locale_typelib_month_names_en_US,
2546   &my_locale_typelib_ab_month_names_en_US,
2547   &my_locale_typelib_day_names_en_US,
2548   &my_locale_typelib_ab_day_names_en_US,
2549   9,
2550   9,
2551   '.',        /* decimal point en_NZ */
2552   ',',        /* thousands_sep en_NZ */
2553   "\x03\x03", /* grouping      en_NZ */
2554   &global_errmsgs[en_US]
2555 );
2556 /***** LOCALE END en_NZ *****/
2557 
2558 /***** LOCALE BEGIN en_PH: English - Philippines *****/
2559 MY_LOCALE my_locale_en_PH
2560 (
2561   78,
2562   "en_PH",
2563   "English - Philippines",
2564   TRUE,
2565   &my_locale_typelib_month_names_en_US,
2566   &my_locale_typelib_ab_month_names_en_US,
2567   &my_locale_typelib_day_names_en_US,
2568   &my_locale_typelib_ab_day_names_en_US,
2569   9,
2570   9,
2571   '.',        /* decimal point en_PH */
2572   ',',        /* thousands_sep en_PH */
2573   "\x03",     /* grouping      en_PH */
2574   &global_errmsgs[en_US]
2575 );
2576 /***** LOCALE END en_PH *****/
2577 
2578 /***** LOCALE BEGIN en_ZA: English - South Africa *****/
2579 MY_LOCALE my_locale_en_ZA
2580 (
2581   79,
2582   "en_ZA",
2583   "English - South Africa",
2584   TRUE,
2585   &my_locale_typelib_month_names_en_US,
2586   &my_locale_typelib_ab_month_names_en_US,
2587   &my_locale_typelib_day_names_en_US,
2588   &my_locale_typelib_ab_day_names_en_US,
2589   9,
2590   9,
2591   '.',        /* decimal point en_ZA */
2592   ',',        /* thousands_sep en_ZA */
2593   "\x03\x03", /* grouping      en_ZA */
2594   &global_errmsgs[en_US]
2595 );
2596 /***** LOCALE END en_ZA *****/
2597 
2598 /***** LOCALE BEGIN en_ZW: English - Zimbabwe *****/
2599 MY_LOCALE my_locale_en_ZW
2600 (
2601   80,
2602   "en_ZW",
2603   "English - Zimbabwe",
2604   TRUE,
2605   &my_locale_typelib_month_names_en_US,
2606   &my_locale_typelib_ab_month_names_en_US,
2607   &my_locale_typelib_day_names_en_US,
2608   &my_locale_typelib_ab_day_names_en_US,
2609   9,
2610   9,
2611   '.',        /* decimal point en_ZW */
2612   ',',        /* thousands_sep en_ZW */
2613   "\x03\x03", /* grouping      en_ZW */
2614   &global_errmsgs[en_US]
2615 );
2616 /***** LOCALE END en_ZW *****/
2617 
2618 /***** LOCALE BEGIN es_AR: Spanish - Argentina *****/
2619 MY_LOCALE my_locale_es_AR
2620 (
2621   81,
2622   "es_AR",
2623   "Spanish - Argentina",
2624   FALSE,
2625   &my_locale_typelib_month_names_es_ES,
2626   &my_locale_typelib_ab_month_names_es_ES,
2627   &my_locale_typelib_day_names_es_ES,
2628   &my_locale_typelib_ab_day_names_es_ES,
2629   10,
2630   9,
2631   ',',        /* decimal point es_AR */
2632   '.',        /* thousands_sep es_AR */
2633   "\x03\x03", /* grouping      es_AR */
2634   &global_errmsgs[es_ES]
2635 );
2636 /***** LOCALE END es_AR *****/
2637 
2638 /***** LOCALE BEGIN es_BO: Spanish - Bolivia *****/
2639 MY_LOCALE my_locale_es_BO
2640 (
2641   82,
2642   "es_BO",
2643   "Spanish - Bolivia",
2644   FALSE,
2645   &my_locale_typelib_month_names_es_ES,
2646   &my_locale_typelib_ab_month_names_es_ES,
2647   &my_locale_typelib_day_names_es_ES,
2648   &my_locale_typelib_ab_day_names_es_ES,
2649   10,
2650   9,
2651   ',',        /* decimal point es_BO */
2652   '.',        /* thousands_sep es_BO */
2653   "\x03\x03", /* grouping      es_BO */
2654   &global_errmsgs[es_ES]
2655 );
2656 /***** LOCALE END es_BO *****/
2657 
2658 /***** LOCALE BEGIN es_CL: Spanish - Chile *****/
2659 MY_LOCALE my_locale_es_CL
2660 (
2661   83,
2662   "es_CL",
2663   "Spanish - Chile",
2664   FALSE,
2665   &my_locale_typelib_month_names_es_ES,
2666   &my_locale_typelib_ab_month_names_es_ES,
2667   &my_locale_typelib_day_names_es_ES,
2668   &my_locale_typelib_ab_day_names_es_ES,
2669   10,
2670   9,
2671   ',',        /* decimal point es_CL */
2672   '.',        /* thousands_sep es_CL */
2673   "\x03\x03", /* grouping      es_CL */
2674   &global_errmsgs[es_ES]
2675 );
2676 /***** LOCALE END es_CL *****/
2677 
2678 /***** LOCALE BEGIN es_CO: Spanish - Columbia *****/
2679 MY_LOCALE my_locale_es_CO
2680 (
2681   84,
2682   "es_CO",
2683   "Spanish - Columbia",
2684   FALSE,
2685   &my_locale_typelib_month_names_es_ES,
2686   &my_locale_typelib_ab_month_names_es_ES,
2687   &my_locale_typelib_day_names_es_ES,
2688   &my_locale_typelib_ab_day_names_es_ES,
2689   10,
2690   9,
2691   ',',        /* decimal point es_CO */
2692   '.',        /* thousands_sep es_CO */
2693   "\x03\x03", /* grouping      es_CO */
2694   &global_errmsgs[es_ES]
2695 );
2696 /***** LOCALE END es_CO *****/
2697 
2698 /***** LOCALE BEGIN es_CR: Spanish - Costa Rica *****/
2699 MY_LOCALE my_locale_es_CR
2700 (
2701   85,
2702   "es_CR",
2703   "Spanish - Costa Rica",
2704   FALSE,
2705   &my_locale_typelib_month_names_es_ES,
2706   &my_locale_typelib_ab_month_names_es_ES,
2707   &my_locale_typelib_day_names_es_ES,
2708   &my_locale_typelib_ab_day_names_es_ES,
2709   10,
2710   9,
2711   ',',        /* decimal point es_CR */
2712   ' ',        /* thousands_sep es_CR */
2713   "\x03\x03", /* grouping      es_CR */
2714   &global_errmsgs[es_ES]
2715 );
2716 /***** LOCALE END es_CR *****/
2717 
2718 /***** LOCALE BEGIN es_DO: Spanish - Dominican Republic *****/
2719 MY_LOCALE my_locale_es_DO
2720 (
2721   86,
2722   "es_DO",
2723   "Spanish - Dominican Republic",
2724   FALSE,
2725   &my_locale_typelib_month_names_es_ES,
2726   &my_locale_typelib_ab_month_names_es_ES,
2727   &my_locale_typelib_day_names_es_ES,
2728   &my_locale_typelib_ab_day_names_es_ES,
2729   10,
2730   9,
2731   '.',        /* decimal point es_DO */
2732   ',',        /* thousands_sep es_DO */
2733   "\x03\x03", /* grouping      es_DO */
2734   &global_errmsgs[es_ES]
2735 );
2736 /***** LOCALE END es_DO *****/
2737 
2738 /***** LOCALE BEGIN es_EC: Spanish - Ecuador *****/
2739 MY_LOCALE my_locale_es_EC
2740 (
2741   87,
2742   "es_EC",
2743   "Spanish - Ecuador",
2744   FALSE,
2745   &my_locale_typelib_month_names_es_ES,
2746   &my_locale_typelib_ab_month_names_es_ES,
2747   &my_locale_typelib_day_names_es_ES,
2748   &my_locale_typelib_ab_day_names_es_ES,
2749   10,
2750   9,
2751   ',',        /* decimal point es_EC */
2752   '.',        /* thousands_sep es_EC */
2753   "\x03\x03", /* grouping      es_EC */
2754   &global_errmsgs[es_ES]
2755 );
2756 /***** LOCALE END es_EC *****/
2757 
2758 /***** LOCALE BEGIN es_GT: Spanish - Guatemala *****/
2759 MY_LOCALE my_locale_es_GT
2760 (
2761   88,
2762   "es_GT",
2763   "Spanish - Guatemala",
2764   FALSE,
2765   &my_locale_typelib_month_names_es_ES,
2766   &my_locale_typelib_ab_month_names_es_ES,
2767   &my_locale_typelib_day_names_es_ES,
2768   &my_locale_typelib_ab_day_names_es_ES,
2769   10,
2770   9,
2771   '.',        /* decimal point es_GT */
2772   ',',       /* thousands_sep es_GT */
2773   "\x03\x03", /* grouping      es_GT */
2774   &global_errmsgs[es_ES]
2775 );
2776 /***** LOCALE END es_GT *****/
2777 
2778 /***** LOCALE BEGIN es_HN: Spanish - Honduras *****/
2779 MY_LOCALE my_locale_es_HN
2780 (
2781   89,
2782   "es_HN",
2783   "Spanish - Honduras",
2784   FALSE,
2785   &my_locale_typelib_month_names_es_ES,
2786   &my_locale_typelib_ab_month_names_es_ES,
2787   &my_locale_typelib_day_names_es_ES,
2788   &my_locale_typelib_ab_day_names_es_ES,
2789   10,
2790   9,
2791   '.',        /* decimal point es_HN */
2792   ',',       /* thousands_sep es_HN */
2793   "\x03\x03", /* grouping      es_HN */
2794   &global_errmsgs[es_ES]
2795 );
2796 /***** LOCALE END es_HN *****/
2797 
2798 /***** LOCALE BEGIN es_MX: Spanish - Mexico *****/
2799 MY_LOCALE my_locale_es_MX
2800 (
2801   90,
2802   "es_MX",
2803   "Spanish - Mexico",
2804   FALSE,
2805   &my_locale_typelib_month_names_es_ES,
2806   &my_locale_typelib_ab_month_names_es_ES,
2807   &my_locale_typelib_day_names_es_ES,
2808   &my_locale_typelib_ab_day_names_es_ES,
2809   10,
2810   9,
2811   '.',        /* decimal point es_MX */
2812   ',',        /* thousands_sep es_MX */
2813   "\x03\x03", /* grouping      es_MX */
2814   &global_errmsgs[es_ES]
2815 );
2816 /***** LOCALE END es_MX *****/
2817 
2818 /***** LOCALE BEGIN es_NI: Spanish - Nicaragua *****/
2819 MY_LOCALE my_locale_es_NI
2820 (
2821   91,
2822   "es_NI",
2823   "Spanish - Nicaragua",
2824   FALSE,
2825   &my_locale_typelib_month_names_es_ES,
2826   &my_locale_typelib_ab_month_names_es_ES,
2827   &my_locale_typelib_day_names_es_ES,
2828   &my_locale_typelib_ab_day_names_es_ES,
2829   10,
2830   9,
2831   '.',        /* decimal point es_NI */
2832   ',',        /* thousands_sep es_NI */
2833   "\x03\x03", /* grouping      es_NI */
2834   &global_errmsgs[es_ES]
2835 );
2836 /***** LOCALE END es_NI *****/
2837 
2838 /***** LOCALE BEGIN es_PA: Spanish - Panama *****/
2839 MY_LOCALE my_locale_es_PA
2840 (
2841   92,
2842   "es_PA",
2843   "Spanish - Panama",
2844   FALSE,
2845   &my_locale_typelib_month_names_es_ES,
2846   &my_locale_typelib_ab_month_names_es_ES,
2847   &my_locale_typelib_day_names_es_ES,
2848   &my_locale_typelib_ab_day_names_es_ES,
2849   10,
2850   9,
2851   '.',        /* decimal point es_PA */
2852   ',',        /* thousands_sep es_PA */
2853   "\x03\x03", /* grouping      es_PA */
2854   &global_errmsgs[es_ES]
2855 );
2856 /***** LOCALE END es_PA *****/
2857 
2858 /***** LOCALE BEGIN es_PE: Spanish - Peru *****/
2859 MY_LOCALE my_locale_es_PE
2860 (
2861   93,
2862   "es_PE",
2863   "Spanish - Peru",
2864   FALSE,
2865   &my_locale_typelib_month_names_es_ES,
2866   &my_locale_typelib_ab_month_names_es_ES,
2867   &my_locale_typelib_day_names_es_ES,
2868   &my_locale_typelib_ab_day_names_es_ES,
2869   10,
2870   9,
2871   '.',        /* decimal point es_PE */
2872   ',',        /* thousands_sep es_PE */
2873   "\x03\x03", /* grouping      es_PE */
2874   &global_errmsgs[es_ES]
2875 );
2876 /***** LOCALE END es_PE *****/
2877 
2878 /***** LOCALE BEGIN es_PR: Spanish - Puerto Rico *****/
2879 MY_LOCALE my_locale_es_PR
2880 (
2881   94,
2882   "es_PR",
2883   "Spanish - Puerto Rico",
2884   FALSE,
2885   &my_locale_typelib_month_names_es_ES,
2886   &my_locale_typelib_ab_month_names_es_ES,
2887   &my_locale_typelib_day_names_es_ES,
2888   &my_locale_typelib_ab_day_names_es_ES,
2889   10,
2890   9,
2891   '.',        /* decimal point es_PR */
2892   ',',        /* thousands_sep es_PR */
2893   "\x03\x03", /* grouping      es_PR */
2894   &global_errmsgs[es_ES]
2895 );
2896 /***** LOCALE END es_PR *****/
2897 
2898 /***** LOCALE BEGIN es_PY: Spanish - Paraguay *****/
2899 MY_LOCALE my_locale_es_PY
2900 (
2901   95,
2902   "es_PY",
2903   "Spanish - Paraguay",
2904   FALSE,
2905   &my_locale_typelib_month_names_es_ES,
2906   &my_locale_typelib_ab_month_names_es_ES,
2907   &my_locale_typelib_day_names_es_ES,
2908   &my_locale_typelib_ab_day_names_es_ES,
2909   10,
2910   9,
2911   ',',        /* decimal point es_PY */
2912   '.',        /* thousands_sep es_PY */
2913   "\x03\x03", /* grouping      es_PY */
2914   &global_errmsgs[es_ES]
2915 );
2916 /***** LOCALE END es_PY *****/
2917 
2918 /***** LOCALE BEGIN es_SV: Spanish - El Salvador *****/
2919 MY_LOCALE my_locale_es_SV
2920 (
2921   96,
2922   "es_SV",
2923   "Spanish - El Salvador",
2924   FALSE,
2925   &my_locale_typelib_month_names_es_ES,
2926   &my_locale_typelib_ab_month_names_es_ES,
2927   &my_locale_typelib_day_names_es_ES,
2928   &my_locale_typelib_ab_day_names_es_ES,
2929   10,
2930   9,
2931   '.',        /* decimal point es_SV */
2932   ',',        /* thousands_sep es_SV */
2933   "\x03\x03", /* grouping      es_SV */
2934   &global_errmsgs[es_ES]
2935 );
2936 /***** LOCALE END es_SV *****/
2937 
2938 /***** LOCALE BEGIN es_US: Spanish - United States *****/
2939 MY_LOCALE my_locale_es_US
2940 (
2941   97,
2942   "es_US",
2943   "Spanish - United States",
2944   FALSE,
2945   &my_locale_typelib_month_names_es_ES,
2946   &my_locale_typelib_ab_month_names_es_ES,
2947   &my_locale_typelib_day_names_es_ES,
2948   &my_locale_typelib_ab_day_names_es_ES,
2949   10,
2950   9,
2951   '.',        /* decimal point es_US */
2952   ',',        /* thousands_sep es_US */
2953   "\x03\x03", /* grouping      es_US */
2954   &global_errmsgs[es_ES]
2955 );
2956 /***** LOCALE END es_US *****/
2957 
2958 /***** LOCALE BEGIN es_UY: Spanish - Uruguay *****/
2959 MY_LOCALE my_locale_es_UY
2960 (
2961   98,
2962   "es_UY",
2963   "Spanish - Uruguay",
2964   FALSE,
2965   &my_locale_typelib_month_names_es_ES,
2966   &my_locale_typelib_ab_month_names_es_ES,
2967   &my_locale_typelib_day_names_es_ES,
2968   &my_locale_typelib_ab_day_names_es_ES,
2969   10,
2970   9,
2971   ',',        /* decimal point es_UY */
2972   '.',        /* thousands_sep es_UY */
2973   "\x03\x03", /* grouping      es_UY */
2974   &global_errmsgs[es_ES]
2975 );
2976 /***** LOCALE END es_UY *****/
2977 
2978 /***** LOCALE BEGIN es_VE: Spanish - Venezuela *****/
2979 MY_LOCALE my_locale_es_VE
2980 (
2981   99,
2982   "es_VE",
2983   "Spanish - Venezuela",
2984   FALSE,
2985   &my_locale_typelib_month_names_es_ES,
2986   &my_locale_typelib_ab_month_names_es_ES,
2987   &my_locale_typelib_day_names_es_ES,
2988   &my_locale_typelib_ab_day_names_es_ES,
2989   10,
2990   9,
2991   ',',        /* decimal point es_VE */
2992   '.',        /* thousands_sep es_VE */
2993   "\x03\x03", /* grouping      es_VE */
2994   &global_errmsgs[es_ES]
2995 );
2996 /***** LOCALE END es_VE *****/
2997 
2998 /***** LOCALE BEGIN fr_BE: French - Belgium *****/
2999 MY_LOCALE my_locale_fr_BE
3000 (
3001   100,
3002   "fr_BE",
3003   "French - Belgium",
3004   FALSE,
3005   &my_locale_typelib_month_names_fr_FR,
3006   &my_locale_typelib_ab_month_names_fr_FR,
3007   &my_locale_typelib_day_names_fr_FR,
3008   &my_locale_typelib_ab_day_names_fr_FR,
3009   9,
3010   8,
3011   ',',        /* decimal point fr_BE */
3012   '.',        /* thousands_sep fr_BE */
3013   "\x80\x80", /* grouping      fr_BE */
3014   &global_errmsgs[fr_FR]
3015 );
3016 /***** LOCALE END fr_BE *****/
3017 
3018 /***** LOCALE BEGIN fr_CA: French - Canada *****/
3019 MY_LOCALE my_locale_fr_CA
3020 (
3021   101,
3022   "fr_CA",
3023   "French - Canada",
3024   FALSE,
3025   &my_locale_typelib_month_names_fr_FR,
3026   &my_locale_typelib_ab_month_names_fr_FR,
3027   &my_locale_typelib_day_names_fr_FR,
3028   &my_locale_typelib_ab_day_names_fr_FR,
3029   9,
3030   8,
3031   ',',        /* decimal point fr_CA */
3032   ' ',        /* thousands_sep fr_CA */
3033   "\x80\x80", /* grouping      fr_CA */
3034   &global_errmsgs[fr_FR]
3035 );
3036 /***** LOCALE END fr_CA *****/
3037 
3038 /***** LOCALE BEGIN fr_CH: French - Switzerland *****/
3039 MY_LOCALE my_locale_fr_CH
3040 (
3041   102,
3042   "fr_CH",
3043   "French - Switzerland",
3044   FALSE,
3045   &my_locale_typelib_month_names_fr_FR,
3046   &my_locale_typelib_ab_month_names_fr_FR,
3047   &my_locale_typelib_day_names_fr_FR,
3048   &my_locale_typelib_ab_day_names_fr_FR,
3049   9,
3050   8,
3051   ',',        /* decimal point fr_CH */
3052   '\0',       /* thousands_sep fr_CH */
3053   "\x80\x80", /* grouping      fr_CH */
3054   &global_errmsgs[fr_FR]
3055 );
3056 /***** LOCALE END fr_CH *****/
3057 
3058 /***** LOCALE BEGIN fr_LU: French - Luxembourg *****/
3059 MY_LOCALE my_locale_fr_LU
3060 (
3061   103,
3062   "fr_LU",
3063   "French - Luxembourg",
3064   FALSE,
3065   &my_locale_typelib_month_names_fr_FR,
3066   &my_locale_typelib_ab_month_names_fr_FR,
3067   &my_locale_typelib_day_names_fr_FR,
3068   &my_locale_typelib_ab_day_names_fr_FR,
3069   9,
3070   8,
3071   ',',        /* decimal point fr_LU */
3072   '\0',       /* thousands_sep fr_LU */
3073   "\x80\x80", /* grouping      fr_LU */
3074   &global_errmsgs[fr_FR]
3075 );
3076 /***** LOCALE END fr_LU *****/
3077 
3078 /***** LOCALE BEGIN it_IT: Italian - Italy *****/
3079 MY_LOCALE my_locale_it_IT
3080 (
3081   104,
3082   "it_IT",
3083   "Italian - Italy",
3084   FALSE,
3085   &my_locale_typelib_month_names_it_CH,
3086   &my_locale_typelib_ab_month_names_it_CH,
3087   &my_locale_typelib_day_names_it_CH,
3088   &my_locale_typelib_ab_day_names_it_CH,
3089   9,
3090   9,
3091   ',',        /* decimal point it_IT */
3092   '\0',       /* thousands_sep it_IT */
3093   "\x80\x80", /* grouping      it_IT */
3094   &global_errmsgs[it_IT]
3095 );
3096 /***** LOCALE END it_IT *****/
3097 
3098 /***** LOCALE BEGIN nl_BE: Dutch - Belgium *****/
3099 MY_LOCALE my_locale_nl_BE
3100 (
3101   105,
3102   "nl_BE",
3103   "Dutch - Belgium",
3104   TRUE,
3105   &my_locale_typelib_month_names_nl_NL,
3106   &my_locale_typelib_ab_month_names_nl_NL,
3107   &my_locale_typelib_day_names_nl_NL,
3108   &my_locale_typelib_ab_day_names_nl_NL,
3109   9,
3110   9,
3111   ',',        /* decimal point nl_BE */
3112   '.',        /* thousands_sep nl_BE */
3113   "\x80\x80", /* grouping      nl_BE */
3114   &global_errmsgs[nl_NL]
3115 );
3116 /***** LOCALE END nl_BE *****/
3117 
3118 /***** LOCALE BEGIN no_NO: Norwegian - Norway *****/
3119 MY_LOCALE my_locale_no_NO
3120 (
3121   106,
3122   "no_NO",
3123   "Norwegian - Norway",
3124   FALSE,
3125   &my_locale_typelib_month_names_nb_NO,
3126   &my_locale_typelib_ab_month_names_nb_NO,
3127   &my_locale_typelib_day_names_nb_NO,
3128   &my_locale_typelib_ab_day_names_nb_NO,
3129   9,
3130   7,
3131   ',',        /* decimal point no_NO */
3132   '.',        /* thousands_sep no_NO */
3133   "\x03\x03", /* grouping      no_NO */
3134   &global_errmsgs[no_NO]
3135 );
3136 /***** LOCALE END no_NO *****/
3137 
3138 /***** LOCALE BEGIN sv_FI: Swedish - Finland *****/
3139 MY_LOCALE my_locale_sv_FI
3140 (
3141   107,
3142   "sv_FI",
3143   "Swedish - Finland",
3144   FALSE,
3145   &my_locale_typelib_month_names_sv_SE,
3146   &my_locale_typelib_ab_month_names_sv_SE,
3147   &my_locale_typelib_day_names_sv_SE,
3148   &my_locale_typelib_ab_day_names_sv_SE,
3149   9,
3150   7,
3151   ',',        /* decimal point sv_FI */
3152   ' ',        /* thousands_sep sv_FI */
3153   "\x03\x03", /* grouping      sv_FI */
3154   &global_errmsgs[sv_SE]
3155 );
3156 /***** LOCALE END sv_FI *****/
3157 
3158 /***** LOCALE BEGIN zh_HK: Chinese - Hong Kong SAR *****/
3159 MY_LOCALE my_locale_zh_HK
3160 (
3161   108,
3162   "zh_HK",
3163   "Chinese - Hong Kong SAR",
3164   FALSE,
3165   &my_locale_typelib_month_names_zh_CN,
3166   &my_locale_typelib_ab_month_names_zh_CN,
3167   &my_locale_typelib_day_names_zh_CN,
3168   &my_locale_typelib_ab_day_names_zh_CN,
3169   3,
3170   3,
3171   '.',        /* decimal point zh_HK */
3172   ',',        /* thousands_sep zh_HK */
3173   "\x03",     /* grouping      zh_HK */
3174   &global_errmsgs[en_US]
3175 );
3176 /***** LOCALE END zh_HK *****/
3177 
3178 
3179 /***** LOCALE BEGIN el_GR: Greek - Greece *****/
3180 static const char *my_locale_month_names_el_GR[13]=
3181 {
3182   "Ιανουάριος", "Φεβρουάριος", "Μάρτιος",
3183   "Απρίλιος",   "Μάιος",       "Ιούνιος",
3184   "Ιούλιος",    "Αύγουστος",   "Σεπτέμβριος",
3185   "Οκτώβριος",  "Νοέμβριος",   "Δεκέμβριος", NullS
3186 };
3187 
3188 static const char *my_locale_ab_month_names_el_GR[13]=
3189 {
3190   "Ιαν", "Φεβ", "Μάρ",
3191   "Απρ", "Μάι", "Ιούν",
3192   "Ιούλ","Αύγ", "Σεπ",
3193   "Οκτ", "Νοέ", "Δεκ", NullS
3194 };
3195 
3196 static const char *my_locale_day_names_el_GR[8] =
3197 {
3198   "Δευτέρα",   "Τρίτη",   "Τετάρτη", "Πέμπτη",
3199   "Παρασκευή", "Σάββατο", "Κυριακή", NullS
3200 };
3201 
3202 static const char *my_locale_ab_day_names_el_GR[8]=
3203 {
3204   "Δευ", "Τρί", "Τετ", "Πέμ",
3205   "Παρ", "Σάβ", "Κυρ", NullS
3206 };
3207 
3208 static TYPELIB my_locale_typelib_month_names_el_GR=
3209 {
3210   array_elements(my_locale_month_names_el_GR) - 1,
3211   "", my_locale_month_names_el_GR, NULL
3212 };
3213 
3214 static TYPELIB my_locale_typelib_ab_month_names_el_GR=
3215 {
3216   array_elements(my_locale_ab_month_names_el_GR)-1,
3217   "", my_locale_ab_month_names_el_GR, NULL
3218 };
3219 
3220 static TYPELIB my_locale_typelib_day_names_el_GR=
3221 {
3222   array_elements(my_locale_day_names_el_GR)-1,
3223   "", my_locale_day_names_el_GR, NULL
3224 };
3225 
3226 static TYPELIB my_locale_typelib_ab_day_names_el_GR=
3227 {
3228   array_elements(my_locale_ab_day_names_el_GR) - 1,
3229   "", my_locale_ab_day_names_el_GR, NULL
3230 };
3231 
3232 MY_LOCALE my_locale_el_GR
3233 (
3234   109,
3235   "el_GR",
3236   "Greek - Greece",
3237   FALSE,
3238   &my_locale_typelib_month_names_el_GR,
3239   &my_locale_typelib_ab_month_names_el_GR,
3240   &my_locale_typelib_day_names_el_GR,
3241   &my_locale_typelib_ab_day_names_el_GR,
3242   11,         /* max mon name length */
3243   9,          /* max day name length */
3244   ',',        /* decimal point el_GR */
3245   '.',        /* thousands_sep el_GR */
3246   "\x80",     /* grouping      el_GR */
3247   &global_errmsgs[el_GR]
3248 );
3249 /***** LOCALE END el_GR *****/
3250 
3251 
3252 /***** LOCALE BEGIN rm_CH: Romansh - Switzerland *****/
3253 static const char *my_locale_month_names_rm_CH[13]=
3254 {
3255   "schaner", "favrer", "mars",      "avrigl",  "matg",     "zercladur",
3256   "fanadur", "avust",  "settember", "october", "november", "december", NullS
3257 };
3258 
3259 static const char *my_locale_ab_month_names_rm_CH[13]=
3260 {
3261   "schan", "favr",  "mars", "avr", "matg", "zercl",
3262   "fan",   "avust", "sett", "oct", "nov",  "dec", NullS
3263 };
3264 
3265 static const char *my_locale_day_names_rm_CH[8]=
3266 {
3267   "glindesdi", "mardi", "mesemna", "gievgia",
3268   "venderdi",  "sonda", "dumengia", NullS
3269 };
3270 
3271 static const char *my_locale_ab_day_names_rm_CH[8]=
3272 {
3273   "gli", "ma", "me", "gie", "ve", "so", "du", NullS
3274 };
3275 
3276 static TYPELIB my_locale_typelib_month_names_rm_CH=
3277 {
3278   array_elements(my_locale_month_names_rm_CH) - 1,
3279   "", my_locale_month_names_rm_CH, NULL
3280 };
3281 
3282 static TYPELIB my_locale_typelib_ab_month_names_rm_CH=
3283 {
3284   array_elements(my_locale_ab_month_names_rm_CH) - 1,
3285   "", my_locale_ab_month_names_rm_CH, NULL
3286 };
3287 
3288 static TYPELIB my_locale_typelib_day_names_rm_CH=
3289 {
3290   array_elements(my_locale_day_names_rm_CH) - 1,
3291    "", my_locale_day_names_rm_CH, NULL
3292 };
3293 
3294 static TYPELIB my_locale_typelib_ab_day_names_rm_CH=
3295 {
3296   array_elements(my_locale_ab_day_names_rm_CH) - 1,
3297   "", my_locale_ab_day_names_rm_CH, NULL
3298 };
3299 
3300 MY_LOCALE my_locale_rm_CH
3301 (
3302   110,
3303   "rm_CH",
3304   "Romansh - Switzerland",
3305   FALSE,
3306   &my_locale_typelib_month_names_rm_CH,
3307   &my_locale_typelib_ab_month_names_rm_CH,
3308   &my_locale_typelib_day_names_rm_CH,
3309   &my_locale_typelib_ab_day_names_rm_CH,
3310   9,          /* max mon name length */
3311   9,          /* max day name length */
3312   ',',        /* decimal point rm_CH */
3313   '\'',       /* thousands_sep rm_CH */
3314   "\x03\x03", /* grouping      rm_CH */
3315   &global_errmsgs[en_US]
3316 );
3317 /***** LOCALE END rm_CH *****/
3318 
3319 
3320 /*
3321   The list of all locales.
3322   Note, locales must be ordered according to their
3323   numbers to make my_locale_by_number() work fast.
3324   Some debug asserts below check this.
3325 */
3326 MY_LOCALE *my_locales[]=
3327   {
3328     &my_locale_en_US,
3329     &my_locale_en_GB,
3330     &my_locale_ja_JP,
3331     &my_locale_sv_SE,
3332     &my_locale_de_DE,
3333     &my_locale_fr_FR,
3334     &my_locale_ar_AE,
3335     &my_locale_ar_BH,
3336     &my_locale_ar_JO,
3337     &my_locale_ar_SA,
3338     &my_locale_ar_SY,
3339     &my_locale_be_BY,
3340     &my_locale_bg_BG,
3341     &my_locale_ca_ES,
3342     &my_locale_cs_CZ,
3343     &my_locale_da_DK,
3344     &my_locale_de_AT,
3345     &my_locale_es_ES,
3346     &my_locale_et_EE,
3347     &my_locale_eu_ES,
3348     &my_locale_fi_FI,
3349     &my_locale_fo_FO,
3350     &my_locale_gl_ES,
3351     &my_locale_gu_IN,
3352     &my_locale_he_IL,
3353     &my_locale_hi_IN,
3354     &my_locale_hr_HR,
3355     &my_locale_hu_HU,
3356     &my_locale_id_ID,
3357     &my_locale_is_IS,
3358     &my_locale_it_CH,
3359     &my_locale_ko_KR,
3360     &my_locale_lt_LT,
3361     &my_locale_lv_LV,
3362     &my_locale_mk_MK,
3363     &my_locale_mn_MN,
3364     &my_locale_ms_MY,
3365     &my_locale_nb_NO,
3366     &my_locale_nl_NL,
3367     &my_locale_pl_PL,
3368     &my_locale_pt_BR,
3369     &my_locale_pt_PT,
3370     &my_locale_ro_RO,
3371     &my_locale_ru_RU,
3372     &my_locale_ru_UA,
3373     &my_locale_sk_SK,
3374     &my_locale_sl_SI,
3375     &my_locale_sq_AL,
3376     &my_locale_sr_RS,
3377     &my_locale_ta_IN,
3378     &my_locale_te_IN,
3379     &my_locale_th_TH,
3380     &my_locale_tr_TR,
3381     &my_locale_uk_UA,
3382     &my_locale_ur_PK,
3383     &my_locale_vi_VN,
3384     &my_locale_zh_CN,
3385     &my_locale_zh_TW,
3386     &my_locale_ar_DZ,
3387     &my_locale_ar_EG,
3388     &my_locale_ar_IN,
3389     &my_locale_ar_IQ,
3390     &my_locale_ar_KW,
3391     &my_locale_ar_LB,
3392     &my_locale_ar_LY,
3393     &my_locale_ar_MA,
3394     &my_locale_ar_OM,
3395     &my_locale_ar_QA,
3396     &my_locale_ar_SD,
3397     &my_locale_ar_TN,
3398     &my_locale_ar_YE,
3399     &my_locale_de_BE,
3400     &my_locale_de_CH,
3401     &my_locale_de_LU,
3402     &my_locale_en_AU,
3403     &my_locale_en_CA,
3404     &my_locale_en_IN,
3405     &my_locale_en_NZ,
3406     &my_locale_en_PH,
3407     &my_locale_en_ZA,
3408     &my_locale_en_ZW,
3409     &my_locale_es_AR,
3410     &my_locale_es_BO,
3411     &my_locale_es_CL,
3412     &my_locale_es_CO,
3413     &my_locale_es_CR,
3414     &my_locale_es_DO,
3415     &my_locale_es_EC,
3416     &my_locale_es_GT,
3417     &my_locale_es_HN,
3418     &my_locale_es_MX,
3419     &my_locale_es_NI,
3420     &my_locale_es_PA,
3421     &my_locale_es_PE,
3422     &my_locale_es_PR,
3423     &my_locale_es_PY,
3424     &my_locale_es_SV,
3425     &my_locale_es_US,
3426     &my_locale_es_UY,
3427     &my_locale_es_VE,
3428     &my_locale_fr_BE,
3429     &my_locale_fr_CA,
3430     &my_locale_fr_CH,
3431     &my_locale_fr_LU,
3432     &my_locale_it_IT,
3433     &my_locale_nl_BE,
3434     &my_locale_no_NO,
3435     &my_locale_sv_FI,
3436     &my_locale_zh_HK,
3437     &my_locale_el_GR,
3438     &my_locale_rm_CH,
3439     NULL
3440   };
3441 
3442 
3443 MY_LOCALE *my_locales_deprecated[]=
3444 {
3445   &my_locale_sr_YU,
3446   NULL
3447 };
3448 
3449 
my_locale_by_number(uint number)3450 MY_LOCALE *my_locale_by_number(uint number)
3451 {
3452   MY_LOCALE *locale;
3453   if (number >= array_elements(my_locales) - 1)
3454     return NULL;
3455   locale= my_locales[number];
3456   // Check that locale is on its correct position in the array
3457   DBUG_ASSERT(locale == my_locales[locale->number]);
3458   return locale;
3459 }
3460 
3461 
3462 static MY_LOCALE*
my_locale_by_name(MY_LOCALE ** locales,const char * name)3463 my_locale_by_name(MY_LOCALE** locales, const char *name)
3464 {
3465   MY_LOCALE **locale;
3466   for (locale= locales; *locale != NULL; locale++)
3467   {
3468     if (!my_strcasecmp(&my_charset_latin1, (*locale)->name, name))
3469       return *locale;
3470   }
3471   return NULL;
3472 }
3473 
3474 
my_locale_by_name(const char * name)3475 MY_LOCALE *my_locale_by_name(const char *name)
3476 {
3477   MY_LOCALE *locale;
3478 
3479   if ((locale= my_locale_by_name(my_locales, name)))
3480   {
3481       // Check that locale is on its correct position in the array
3482       DBUG_ASSERT(locale == my_locales[locale->number]);
3483       return locale;
3484   }
3485   else if ((locale= my_locale_by_name(my_locales_deprecated, name)))
3486   {
3487     THD *thd= current_thd;
3488     /*
3489       Replace the deprecated locale to the corresponding
3490       'fresh' locale with the same ID.
3491     */
3492     locale= my_locales[locale->number];
3493     if (thd)
3494     {
3495       // Send a warning to the client
3496       push_warning_printf(thd, Sql_condition::WARN_LEVEL_WARN,
3497                           ER_WARN_DEPRECATED_SYNTAX,
3498                           ER_THD(thd, ER_WARN_DEPRECATED_SYNTAX),
3499                           name, locale->name);
3500     }
3501     else
3502     {
3503       // Send a warning to mysqld error log
3504       sql_print_warning("The syntax '%s' is deprecated and will be removed. "
3505                         "Please use %s instead.",
3506                         name, locale->name);
3507     }
3508   }
3509   return locale;
3510 }
3511 
3512 
cleanup_errmsgs()3513 void cleanup_errmsgs()
3514 {
3515   for (MY_LOCALE_ERRMSGS *msgs= global_errmsgs; msgs->language; msgs++)
3516   {
3517     my_free(msgs->errmsgs);
3518   }
3519 }
3520