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