OpenTTD Source  20241108-master-g80f628063a
townname.h
Go to the documentation of this file.
1 /*
2  * This file is part of OpenTTD.
3  * OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
4  * OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
5  * See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
6  */
7 
10 #include "../core/enum_type.hpp"
11 
12 static const char * const _name_original_english_1[] = {
13  "Great ",
14  "Little ",
15  "New ",
16  "Fort ",
17 };
18 
19 static const char * const _name_original_english_2[] = {
20  "Wr",
21  "B",
22  "C",
23  "Ch",
24  "Br",
25  "D",
26  "Dr",
27  "F",
28  "Fr",
29  "Fl",
30  "G",
31  "Gr",
32  "H",
33  "L",
34  "M",
35  "N",
36  "P",
37  "Pr",
38  "Pl",
39  "R",
40  "S",
41  "S",
42  "Sl",
43  "T",
44  "Tr",
45  "W",
46 };
47 
48 static const char * const _name_original_english_3[] = {
49  "ar",
50  "a",
51  "e",
52  "in",
53  "on",
54  "u",
55  "un",
56  "en",
57 };
58 
59 static const char * const _name_original_english_4[] = {
60  "n",
61  "ning",
62  "ding",
63  "d",
64  "",
65  "t",
66  "fing",
67 };
68 
69 static const char * const _name_original_english_5[] = {
70  "ville",
71  "ham",
72  "field",
73  "ton",
74  "town",
75  "bridge",
76  "bury",
77  "wood",
78  "ford",
79  "hall",
80  "ston",
81  "way",
82  "stone",
83  "borough",
84  "ley",
85  "head",
86  "bourne",
87  "pool",
88  "worth",
89  "hill",
90  "well",
91  "hattan",
92  "burg",
93 };
94 
95 static const char * const _name_original_english_6[] = {
96  "-on-sea",
97  " Bay",
98  " Market",
99  " Cross",
100  " Bridge",
101  " Falls",
102  " City",
103  " Ridge",
104  " Springs",
105 };
106 
107 static const char * const _name_additional_english_prefix[] = {
108  "Great ",
109  "Little ",
110  "New ",
111  "Fort ",
112  "St. ",
113  "Old ",
114 };
115 
116 static const char * const _name_additional_english_1a[] = {
117  "Pen",
118  "Lough",
119  "Stam",
120  "Aber",
121  "Acc",
122  "Ex",
123  "Ax",
124  "Bre",
125  "Cum",
126  "Dun",
127  "Fin",
128  "Inver",
129  "Kin",
130  "Mon",
131  "Nan",
132  "Nant",
133  "Pit",
134  "Pol",
135  "Pont",
136  "Strath",
137  "Tre",
138  "Tilly",
139  "Beck",
140  "Canter",
141  "Bath",
142  "Liver",
143  "Mal",
144  "Ox",
145  "Bletch",
146  "Maccles",
147  "Grim",
148  "Wind",
149  "Sher",
150  "Gates",
151  "Orp",
152  "Brom",
153  "Lewis",
154  "Whit",
155  "White",
156  "Worm",
157  "Tyne",
158  "Avon",
159  "Stan",
160 };
161 
162 static const char * const _name_additional_english_1b1[] = {
163  "Wr",
164  "B",
165  "C",
166  "Ch",
167  "Br",
168  "D",
169  "Dr",
170  "F",
171  "Fr",
172  "Fl",
173  "G",
174  "Gr",
175  "H",
176  "L",
177  "M",
178  "N",
179  "P",
180  "Pr",
181  "Pl",
182  "R",
183  "S",
184  "S",
185  "Sl",
186  "T",
187  "Tr",
188  "W",
189 };
190 
191 static const char * const _name_additional_english_1b2[] = {
192  "ar",
193  "a",
194  "e",
195  "in",
196  "on",
197  "u",
198  "o",
199  "ee",
200  "es",
201  "ea",
202  "un",
203  "en",
204 };
205 
206 static const char * const _name_additional_english_1b3a[] = {
207  "n",
208  "d",
209  "",
210  "t",
211  "",
212  "",
213 };
214 
215 static const char * const _name_additional_english_1b3b[] = {
216  "ning",
217  "ding",
218  "fing",
219 };
220 
221 static const char * const _name_additional_english_2[] = {
222  "ville",
223  "ham",
224  "field",
225  "ton",
226  "town",
227  "borough",
228  "bridge",
229  "bury",
230  "wood",
231  "ditch",
232  "ford",
233  "hall",
234  "dean",
235  "leigh",
236  "dore",
237  "ston",
238  "stow",
239  "church",
240  "wich",
241  "low",
242  "way",
243  "stone",
244  "minster",
245  "ley",
246  "head",
247  "bourne",
248  "pool",
249  "worth",
250  "hill",
251  "well",
252  "hattan",
253  "burg",
254  "berg",
255  "burgh",
256  "port",
257  "stoke",
258  "haven",
259  "stable",
260  "stock",
261  "side",
262  "brook",
263  "don",
264  "den",
265  "down",
266  "nor",
267  "grove",
268  "combe",
269  "by",
270  "say",
271  "ney",
272  "chester",
273  "dale",
274  "ness",
275  "shaw",
276  "thwaite",
277 };
278 
279 static const char * const _name_additional_english_3[] = {
280  "-on-sea",
281  " Bay",
282  " Market",
283  " Beeches",
284  " Common",
285  " Park",
286  " Heath",
287  " Marsh",
288  " Green",
289  " Castle",
290  " End",
291  " Rivers",
292  " Cross",
293  " Bridge",
294  " Falls",
295  " City",
296  " Ridge",
297  " Springs",
298 };
299 
300 static const char * const _name_austrian_a1[] = {
301  "Bad ",
302  "Deutsch ",
303  "Gross ",
304  "Klein ",
305  "Markt ",
306  "Maria ",
307 };
308 
309 static const char * const _name_austrian_a2[] = {
310  "Aus",
311  "Alten",
312  "Braun",
313  "V\u00f6sl",
314  "Mittern",
315  "Nuss",
316  "Neu",
317  "Walters",
318  "Breiten",
319  "Eisen",
320  "Feld",
321  "Mittern",
322  "Gall",
323  "Obern",
324  "Grat",
325  "Heiligen",
326  "Hof",
327  "Holla",
328  "Stein",
329  "Eber",
330  "Eggen",
331  "Enzers",
332  "Frauen",
333  "Herren",
334  "Hof",
335  "H\u00fctt",
336  "Kaisers",
337  "K\u00f6nigs",
338  "Knittel",
339  "Lang",
340  "Ober",
341  "Ollers",
342  "Pfaffen",
343  "Potten",
344  "Salz",
345  "Schwarz",
346  "Stocker",
347  "Unter",
348  "Utten",
349  "V\u00f6sen",
350  "Vill",
351  "Weissen",
352 };
353 
354 static const char * const _name_austrian_a3[] = {
355  "see",
356  "bach",
357  "dorf",
358  "ach",
359  "stein",
360  "hofen",
361  "au",
362  "ach",
363  "kirch",
364  "kirchen",
365  "kreuz",
366  "brunn",
367  "siedl",
368  "markt",
369  "wang",
370  "haag",
371 };
372 
373 static const char * const _name_austrian_a4[] = {
374  "Bruck",
375  "Brunn",
376  "Gams",
377  "Grein",
378  "Ried",
379  "Faak",
380  "Zell",
381  "Spital",
382  "Kirchberg",
383  "Saal",
384  "Taferl",
385  "Wald",
386 };
387 
388 static const char * const _name_austrian_a5[] = {
389  "St. ",
390  "Sankt ",
391 };
392 
393 static const char * const _name_austrian_a6[] = {
394  "Aegyd",
395  "Andr\u00e4",
396  "Georgen",
397  "Jakob",
398  "Johann",
399  "Leonhard",
400  "Marein",
401  "Lorenzen",
402  "Margarethen",
403  "Martin",
404  "Michael",
405  "Nikolai",
406  "Oswald",
407  "Peter",
408  "P\u00f6lten",
409  "Stefan",
410  "Stephan",
411  "Thomas",
412  "Veit",
413  "Wolfgang",
414 };
415 
416 static const char * const _name_austrian_f1[] = {
417  " an der ",
418  " ob der ",
419 };
420 
421 static const char * const _name_austrian_f2[] = {
422  "Donau",
423  "Steyr",
424  "Lafnitz",
425  "Leitha",
426  "Thaya",
427  "Gail",
428  "Drau",
429  "Salzach",
430  "Ybbs",
431  "Traisen",
432  "Enns",
433  "Mur",
434  "Ill",
435 };
436 
437 static const char * const _name_austrian_b1[] = {
438  " am ",
439 };
440 
441 static const char * const _name_austrian_b2[] = {
442  "Brenner",
443  "Dachstein",
444  "Gebirge",
445  "Grossglockner",
446  "Hausruck",
447  "Semmering",
448  "Wagram",
449  "Wechsel",
450  "Wilden Kaiser",
451  "Ziller",
452 };
453 
454 static const char * const _name_german_real[] = {
455  "Berlin",
456  "Bonn",
457  "Bremen",
458  "Cottbus",
459  "Chemnitz",
460  "Dortmund",
461  "Dresden",
462  "Erfurt",
463  "Erlangen",
464  "Essen",
465  "Fulda",
466  "Gera",
467  "Kassel",
468  "Kiel",
469  "K\u00f6ln",
470  "L\u00fcbeck",
471  "Magdeburg",
472  "M\u00fcnchen",
473  "Potsdam",
474  "Stuttgart",
475  "Wiesbaden",
476 };
477 
478 static const char * const _name_german_pre[] = {
479  "Bad ",
480  "Klein ",
481  "Neu ",
482 };
483 
484 static const char * const _name_german_1[] = {
485  "Alb",
486  "Als",
487  "Ander",
488  "Arns",
489  "Bruns",
490  "Bam",
491  "Biele",
492  "Cloppen",
493  "Co",
494  "Duis",
495  "D\u00fcssel",
496  "Dannen",
497  "Elb",
498  "Els",
499  "Elster",
500  "Eichen",
501  "Ems",
502  "Fahr",
503  "Falken",
504  "Flens",
505  "Frank",
506  "Frei",
507  "Freuden",
508  "Fried",
509  "F\u00fcrsten",
510  "Hahn",
511  "Ham",
512  "Harz",
513  "Heidel",
514  "Hers",
515  "Herz",
516  "Holz",
517  "Hildes",
518  "Inns",
519  "Ilsen",
520  "Ingols",
521  "Kel",
522  "Kies",
523  "Korn",
524  "Kor",
525  "Kreuz",
526  "Kulm",
527  "Langen",
528  "Lim",
529  "Lohr",
530  "L\u00fcne",
531  "Mel",
532  "Michels",
533  "M\u00fchl",
534  "Naum",
535  "Nest",
536  "Nord",
537  "Nort",
538  "Nien",
539  "Nidda",
540  "Nieder",
541  "N\u00fcrn",
542  "Ober",
543  "Offen",
544  "Osna",
545  "Olden",
546  "Ols",
547  "Oranien",
548  "Pader",
549  "Quedlin",
550  "Quer",
551  "Ravens",
552  "Regens",
553  "Rott",
554  "Ros",
555  "R\u00fcssels",
556  "Saal",
557  "Saar",
558  "Salz",
559  "Sch\u00f6ne",
560  "Schwein",
561  "Sonder",
562  "Sonnen",
563  "Stein",
564  "Strals",
565  "Straus",
566  "S\u00fcd",
567  "Ton",
568  "Unter",
569  "Ur",
570  "Vor",
571  "Wald",
572  "War",
573  "Wert",
574  "Wester",
575  "Witten",
576  "Wolfs",
577  "W\u00fcrz",
578 };
579 
580 static const char * const _name_german_2[] = {
581  "bach",
582  "berg",
583  "br\u00fcck",
584  "br\u00fccken",
585  "burg",
586  "dorf",
587  "feld",
588  "furt",
589  "hausen",
590  "haven",
591  "heim",
592  "horst",
593  "mund",
594  "m\u00fcnster",
595  "stadt",
596  "wald",
597 };
598 
599 static const char * const _name_german_3_an_der[] = {
600  " an der ",
601 };
602 
603 static const char * const _name_german_3_am[] = {
604  " am ",
605 };
606 
607 static const char * const _name_german_4_an_der[] = {
608  "Oder",
609  "Spree",
610  "Donau",
611  "Saale",
612  "Elbe",
613 };
614 
615 static const char * const _name_german_4_am[] = {
616  "Main",
617 };
618 
619 static const char * const _name_spanish_real[] = {
620  "Caracas",
621  "Maracay",
622  "Maracaibo",
623  "Valencia",
624  "El Dorado",
625  "Morrocoy",
626  "Cata",
627  "Cataito",
628  "Ciudad Bol\u00edvar",
629  "Barquisimeto",
630  "M\u00e9rida",
631  "Puerto Ordaz",
632  "Santa Elena",
633  "San Juan",
634  "San Luis",
635  "San Rafael",
636  "Santiago",
637  "Barcelona",
638  "Barinas",
639  "San Crist\u00f3bal",
640  "San Francisco",
641  "San Mart\u00edn",
642  "Guayana",
643  "San Carlos",
644  "El Lim\u00f3n",
645  "Coro",
646  "Coro Coro",
647  "Puerto Ayacucho",
648  "Elorza",
649  "Arismendi",
650  "Trujillo",
651  "Car\u00fapano",
652  "Anaco",
653  "Lima",
654  "Cuzco",
655  "Iquitos",
656  "Callao",
657  "Huacho",
658  "Caman\u00e1",
659  "Puerto Chala",
660  "Santa Cruz",
661  "Quito",
662  "Cuenca",
663  "Medell\u00edn",
664  "Tulc\u00e1n",
665  "Esmeraldas",
666  "Ibarra",
667  "San Lorenzo",
668  "Macas",
669  "Mora\u00f1a",
670  "Machala",
671  "Zamora",
672  "Latacunga",
673  "Tena",
674  "Cochabamba",
675  "Ascensi\u00f3n",
676  "Magdalena",
677  "Santa Ana",
678  "Manoa",
679  "Sucre",
680  "Oruro",
681  "Uyuni",
682  "Potos\u00ed",
683  "Tupiza",
684  "La Quiaca",
685  "Yacu\u00edba",
686  "San Borja",
687  "Fuerte Olimpo",
688  "Fort\u00edn Esteros",
689  "Campo Grande",
690  "Bogot\u00e1",
691  "El Banco",
692  "Zaragoza",
693  "Neiva",
694  "Mariano",
695  "Cali",
696  "La Palma",
697  "Andoas",
698  "Barranca",
699  "Montevideo",
700  "Valdivia",
701  "Arica",
702  "Temuco",
703  "Tocopilla",
704  "Mendoza",
705  "Santa Rosa",
706 };
707 
708 static const char * const _name_french_real[] = {
709  "Agincourt",
710  "Lille",
711  "Dinan",
712  "Aubusson",
713  "Rodez",
714  "Bergerac",
715  "Bordeaux",
716  "Bayonne",
717  "Montpellier",
718  "Mont\u00e9limar",
719  "Valence",
720  "Digne",
721  "Nice",
722  "Cannes",
723  "St. Tropez",
724  "Marseille",
725  "Narbonne",
726  "S\u00e8te",
727  "Aurillac",
728  "Gu\u00e9ret",
729  "Le Creusot",
730  "Nevers",
731  "Auxerre",
732  "Versailles",
733  "Meaux",
734  "Ch\u00e2lons",
735  "Compi\u00e8gne",
736  "Metz",
737  "Chaumont",
738  "Langres",
739  "Bourg",
740  "Lyon",
741  "Vienne",
742  "Grenoble",
743  "Toulon",
744  "Rennes",
745  "Le Mans",
746  "Angers",
747  "Nantes",
748  "Ch\u00e2teauroux",
749  "Orl\u00e9ans",
750  "Lisieux",
751  "Cherbourg",
752  "Morlaix",
753  "Cognac",
754  "Agen",
755  "Tulle",
756  "Blois",
757  "Troyes",
758  "Charolles",
759  "Toulouse",
760  "Chamb\u00e9ry",
761  "Tours",
762  "St. Brieuc",
763  "St. Malo",
764  "La Rochelle",
765  "St. Flour",
766  "Le Puy",
767  "Vichy",
768  "St. Valery",
769  "Beaujolais",
770  "Reims",
771  "Albi",
772  "Paris",
773  "Biarritz",
774  "B\u00e9ziers",
775  "N\u00eemes",
776  "Chamonix",
777  "Angoul\u00e8me",
778  "Alen\u00e7on",
779 };
780 
781 static const char * const _name_silly_1[] = {
782  "Binky",
783  "Blubber",
784  "Bumble",
785  "Crinkle",
786  "Crusty",
787  "Dangle",
788  "Dribble",
789  "Flippety",
790  "Google",
791  "Muffin",
792  "Nosey",
793  "Pinker",
794  "Quack",
795  "Rumble",
796  "Sleepy",
797  "Sliggles",
798  "Snooze",
799  "Teddy",
800  "Tinkle",
801  "Twister",
802  "Pinker",
803  "Hippo",
804  "Itchy",
805  "Jelly",
806  "Jingle",
807  "Jolly",
808  "Kipper",
809  "Lazy",
810  "Frogs",
811  "Mouse",
812  "Quack",
813  "Cheeky",
814  "Lumpy",
815  "Grumpy",
816  "Mangle",
817  "Fiddle",
818  "Slugs",
819  "Noodles",
820  "Poodles",
821  "Shiver",
822  "Rumble",
823  "Pixie",
824  "Puddle",
825  "Riddle",
826  "Rattle",
827  "Rickety",
828  "Waffle",
829  "Sagging",
830  "Sausage",
831  "Egg",
832  "Sleepy",
833  "Scatter",
834  "Scramble",
835  "Silly",
836  "Simple",
837  "Trickle",
838  "Slippery",
839  "Slimey",
840  "Slumber",
841  "Soggy",
842  "Sliggles",
843  "Splutter",
844  "Sulky",
845  "Swindle",
846  "Swivel",
847  "Tasty",
848  "Tangle",
849  "Toggle",
850  "Trotting",
851  "Tumble",
852  "Snooze",
853  "Water",
854  "Windy",
855  "Amble",
856  "Bubble",
857  "Cheery",
858  "Cheese",
859  "Cockle",
860  "Cracker",
861  "Crumple",
862  "Teddy",
863  "Evil",
864  "Fairy",
865  "Falling",
866  "Fishy",
867  "Fizzle",
868  "Frosty",
869  "Griddle",
870 };
871 
872 static const char * const _name_silly_2[] = {
873  "ton",
874  "bury",
875  "bottom",
876  "ville",
877  "well",
878  "weed",
879  "worth",
880  "wig",
881  "wick",
882  "wood",
883  "pool",
884  "head",
885  "burg",
886  "gate",
887  "bridge",
888 };
889 
890 static const char * const _name_swedish_1[] = {
891  "Gamla ",
892  "Lilla ",
893  "Nya ",
894  "Stora ",
895 };
896 
897 static const char * const _name_swedish_2[] = {
898  "Boll",
899  "Bor",
900  "Ed",
901  "En",
902  "Erik",
903  "Es",
904  "Fin",
905  "Fisk",
906  "Gr\u00f6n",
907  "Hag",
908  "Halm",
909  "Karl",
910  "Kram",
911  "Kung",
912  "Land",
913  "Lid",
914  "Lin",
915  "Mal",
916  "Malm",
917  "Marie",
918  "Ner",
919  "Norr",
920  "Oskar",
921  "Sand",
922  "Skog",
923  "Stock",
924  "Stor",
925  "Str\u00f6m",
926  "Sund",
927  "S\u00f6der",
928  "Tall",
929  "Tratt",
930  "Troll",
931  "Upp",
932  "Var",
933  "V\u00e4ster",
934  "\u00c4ngel",
935  "\u00d6ster",
936 };
937 
938 static const char * const _name_swedish_2a[] = {
939  "B",
940  "Br",
941  "D",
942  "Dr",
943  "Dv",
944  "F",
945  "Fj",
946  "Fl",
947  "Fr",
948  "G",
949  "Gl",
950  "Gn",
951  "Gr",
952  "H",
953  "J",
954  "K",
955  "Kl",
956  "Kn",
957  "Kr",
958  "Kv",
959  "L",
960  "M",
961  "N",
962  "P",
963  "Pl",
964  "Pr",
965  "R",
966  "S",
967  "Sk",
968  "Skr",
969  "Sl",
970  "Sn",
971  "Sp",
972  "Spr",
973  "St",
974  "Str",
975  "Sv",
976  "T",
977  "Tr",
978  "Tv",
979  "V",
980  "Vr",
981 };
982 
983 static const char * const _name_swedish_2b[] = {
984  "a",
985  "e",
986  "i",
987  "o",
988  "u",
989  "y",
990  "\u00e5",
991  "\u00e4",
992  "\u00f6",
993 };
994 
995 static const char * const _name_swedish_2c[] = {
996  "ck",
997  "d",
998  "dd",
999  "g",
1000  "gg",
1001  "l",
1002  "ld",
1003  "m",
1004  "n",
1005  "nd",
1006  "ng",
1007  "nn",
1008  "p",
1009  "pp",
1010  "r",
1011  "rd",
1012  "rk",
1013  "rp",
1014  "rr",
1015  "rt",
1016  "s",
1017  "sk",
1018  "st",
1019  "t",
1020  "tt",
1021  "v",
1022 };
1023 
1024 static const char * const _name_swedish_3[] = {
1025  "arp",
1026  "berg",
1027  "boda",
1028  "borg",
1029  "bro",
1030  "bukten",
1031  "by",
1032  "byn",
1033  "fors",
1034  "hammar",
1035  "hamn",
1036  "holm",
1037  "hus",
1038  "h\u00e4ttan",
1039  "kulle",
1040  "k\u00f6ping",
1041  "lund",
1042  "l\u00f6v",
1043  "sala",
1044  "skrona",
1045  "sl\u00e4tt",
1046  "sp\u00e5ng",
1047  "stad",
1048  "sund",
1049  "svall",
1050  "svik",
1051  "s\u00e5ker",
1052  "udde",
1053  "valla",
1054  "viken",
1055  "\u00e4lv",
1056  "\u00e5s",
1057 };
1058 
1059 static const char * const _name_dutch_1[] = {
1060  "Nieuw ",
1061  "Oud ",
1062  "Groot ",
1063  "Zuid ",
1064  "Noord ",
1065  "Oost ",
1066  "West ",
1067  "Klein ",
1068 };
1069 
1070 static const char * const _name_dutch_2[] = {
1071  "Hoog",
1072  "Laag",
1073  "Zuider",
1074  "Zuid",
1075  "Ooster",
1076  "Oost",
1077  "Wester",
1078  "West",
1079  "Hoofd",
1080  "Midden",
1081  "Eind",
1082  "Amster",
1083  "Amstel",
1084  "Dord",
1085  "Rotter",
1086  "Haar",
1087  "Til",
1088  "Enk",
1089  "Dok",
1090  "Veen",
1091  "Leidsch",
1092  "Lely",
1093  "En",
1094  "Kaats",
1095  "U",
1096  "Maas",
1097  "Mar",
1098  "Bla",
1099  "Al",
1100  "Alk",
1101  "Eer",
1102  "Drie",
1103  "Ter",
1104  "Groes",
1105  "Goes",
1106  "Soest",
1107  "Coe",
1108  "Uit",
1109  "Zwaag",
1110  "Hellen",
1111  "Slie",
1112  "IJ",
1113  "Grubben",
1114  "Groen",
1115  "Lek",
1116  "Ridder",
1117  "Schie",
1118  "Olde",
1119  "Roose",
1120  "Haar",
1121  "Til",
1122  "Loos",
1123  "Hil",
1124 };
1125 
1126 static const char * const _name_dutch_3[] = {
1127  "Drog",
1128  "Nat",
1129  "Valk",
1130  "Bob",
1131  "Dedem",
1132  "Kollum",
1133  "Best",
1134  "Hoend",
1135  "Leeuw",
1136  "Graaf",
1137  "Uithuis",
1138  "Purm",
1139  "Hard",
1140  "Hell",
1141  "Werk",
1142  "Spijk",
1143  "Vink",
1144  "Wams",
1145  "Heerhug",
1146  "Koning",
1147 };
1148 
1149 static const char * const _name_dutch_4[] = {
1150  "e",
1151  "er",
1152  "el",
1153  "en",
1154  "o",
1155  "s",
1156 };
1157 
1158 static const char * const _name_dutch_5[] = {
1159  "stad",
1160  "vorst",
1161  "dorp",
1162  "dam",
1163  "beek",
1164  "doorn",
1165  "zijl",
1166  "zijlen",
1167  "lo",
1168  "muiden",
1169  "meden",
1170  "vliet",
1171  "nisse",
1172  "daal",
1173  "vorden",
1174  "vaart",
1175  "mond",
1176  "zaal",
1177  "water",
1178  "duinen",
1179  "heuvel",
1180  "geest",
1181  "kerk",
1182  "meer",
1183  "maar",
1184  "hoorn",
1185  "rade",
1186  "wijk",
1187  "berg",
1188  "heim",
1189  "sum",
1190  "richt",
1191  "burg",
1192  "recht",
1193  "drecht",
1194  "trecht",
1195  "tricht",
1196  "dricht",
1197  "lum",
1198  "rum",
1199  "halen",
1200  "oever",
1201  "wolde",
1202  "veen",
1203  "hoven",
1204  "gast",
1205  "kum",
1206  "hage",
1207  "dijk",
1208  "zwaag",
1209  "pomp",
1210  "huizen",
1211  "bergen",
1212  "schede",
1213  "mere",
1214  "end",
1215 };
1216 
1217 static const char * const _name_finnish_real[] = {
1218  "Aijala",
1219  "Kisko",
1220  "Espoo",
1221  "Helsinki",
1222  "Tapiola",
1223  "J\u00e4rvel\u00e4",
1224  "Lahti",
1225  "Kotka",
1226  "Hamina",
1227  "Loviisa",
1228  "Kouvola",
1229  "Tampere",
1230  "Oulu",
1231  "Salo",
1232  "Malmi",
1233  "Pelto",
1234  "Koski",
1235  "Iisalmi",
1236  "Raisio",
1237  "Taavetti",
1238  "Joensuu",
1239  "Imatra",
1240  "Tapanila",
1241  "Pasila",
1242  "Turku",
1243  "Kupittaa",
1244  "Vaasa",
1245  "Pori",
1246  "Rauma",
1247  "Kolari",
1248  "Lieksa",
1249 };
1250 
1251 static const char * const _name_finnish_1[] = {
1252  "Hiekka",
1253  "Haapa",
1254  "Mylly",
1255  "Sauna",
1256  "Uusi",
1257  "Vanha",
1258  "Kes\u00e4",
1259  "Kuusi",
1260  "Pelto",
1261  "Tuomi",
1262  "Terva",
1263  "Olki",
1264  "Hein\u00e4",
1265  "Sein\u00e4",
1266  "Rova",
1267  "Koivu",
1268  "Kokko",
1269  "M\u00e4nty",
1270  "Pihlaja",
1271  "Pet\u00e4j\u00e4",
1272  "Kielo",
1273  "Kauha",
1274  "Viita",
1275  "Kivi",
1276  "Riihi",
1277  "\u00c4\u00e4ne",
1278  "Niini",
1279 };
1280 
1281 static const char * const _name_finnish_2[] = {
1282  "Lappeen",
1283  "Lohjan",
1284  "Savon",
1285  "Lapin",
1286  "Pit\u00e4j\u00e4n",
1287  "Martin",
1288  "Kuusan",
1289  "Kemi",
1290  "Keri",
1291  "H\u00e4meen",
1292  "Kangas",
1293 };
1294 
1295 static const char * const _name_finnish_3[] = {
1296  "harju",
1297  "linna",
1298  "j\u00e4rvi",
1299  "kallio",
1300  "m\u00e4ki",
1301  "nummi",
1302  "joki",
1303  "kyl\u00e4",
1304  "lampi",
1305  "lahti",
1306  "mets\u00e4",
1307  "suo",
1308  "laakso",
1309  "niitty",
1310  "luoto",
1311  "hovi",
1312  "ranta",
1313  "koski",
1314  "salo",
1315 };
1316 
1317 static const char * const _name_polish_1_m[] = {
1318  "Wielki ",
1319  "Ma\u0142y ",
1320  "Z\u0142y ",
1321  "Dobry ",
1322  "Nowy ",
1323  "Stary ",
1324  "Z\u0142oty ",
1325  "Zielony ",
1326  "Bia\u0142y ",
1327  "Modry ",
1328  "D\u0119bowy ",
1329 };
1330 
1331 static const char * const _name_polish_1_f[] = {
1332  "Wielka ",
1333  "Ma\u0142a ",
1334  "Z\u0142a ",
1335  "Dobra ",
1336  "Nowa ",
1337  "Stara ",
1338  "Z\u0142ota ",
1339  "Zielona ",
1340  "Bia\u0142a ",
1341  "Modra ",
1342  "D\u0119bowa ",
1343 };
1344 
1345 static const char * const _name_polish_1_n[] = {
1346  "Wielkie ",
1347  "Ma\u0142e ",
1348  "Z\u0142e ",
1349  "Dobre ",
1350  "Nowe ",
1351  "Stare ",
1352  "Z\u0142ote ",
1353  "Zielone ",
1354  "Bia\u0142e ",
1355  "Modre ",
1356  "D\u0119bowe ",
1357 };
1358 
1359 static const char * const _name_polish_2_o[] = {
1360  "Frombork",
1361  "Gniezno",
1362  "Olsztyn",
1363  "Toru\u0144",
1364  "Bydgoszcz",
1365  "Terespol",
1366  "Krak\u00f3w",
1367  "Pozna\u0144",
1368  "Wroc\u0142aw",
1369  "Katowice",
1370  "Cieszyn",
1371  "Bytom",
1372  "Frombork",
1373  "Hel",
1374  "Konin",
1375  "Lublin",
1376  "Malbork",
1377  "Sopot",
1378  "Sosnowiec",
1379  "Gda\u0144sk",
1380  "Gdynia",
1381  "Sieradz",
1382  "Sandomierz",
1383  "Szczyrk",
1384  "Szczytno",
1385  "Szczecin",
1386  "Zakopane",
1387  "Szklarska Por\u0119ba",
1388  "Bochnia",
1389  "Golub-Dobrzy\u0144",
1390  "Chojnice",
1391  "Ostrowiec",
1392  "Otwock",
1393  "Wolsztyn",
1394 };
1395 
1396 static const char * const _name_polish_2_m[] = {
1397  "Jarocin",
1398  "Gogolin",
1399  "Tomasz\u00f3w",
1400  "Piotrk\u00f3w",
1401  "Lidzbark",
1402  "Rypin",
1403  "Radzymin",
1404  "Wo\u0142omin",
1405  "Pruszk\u00f3w",
1406  "Olsztynek",
1407  "Rypin",
1408  "Cisek",
1409  "Krotoszyn",
1410  "Stoczek",
1411  "Lubin",
1412  "Lubicz",
1413  "Milicz",
1414  "Targ",
1415  "Ostr\u00f3w",
1416  "Ozimek",
1417  "Puck",
1418  "Rzepin",
1419  "Siewierz",
1420  "Stargard",
1421  "Starogard",
1422  "Turek",
1423  "Tymbark",
1424  "Wolsztyn",
1425  "Strzepcz",
1426  "Strzebielin",
1427  "Sochaczew",
1428  "Gr\u0119bocin",
1429  "Gniew",
1430  "Lubliniec",
1431  "Lubasz",
1432  "Lutomiersk",
1433  "Niemodlin",
1434  "Przeworsk",
1435  "Ursus",
1436  "Tyczyn",
1437  "Sztum",
1438  "Szczebrzeszyn",
1439  "Wolin",
1440  "Wrzeszcz",
1441  "Zgierz",
1442  "Zieleniec",
1443  "Drobin",
1444  "Garwolin",
1445 };
1446 
1447 static const char * const _name_polish_2_f[] = {
1448  "Szprotawa",
1449  "Pogorzelica",
1450  "Mot\u0142awa",
1451  "Lubawa",
1452  "Nidzica",
1453  "Kruszwica",
1454  "Bierawa",
1455  "Brodnica",
1456  "Chojna",
1457  "Krzepica",
1458  "Ruda",
1459  "Rumia",
1460  "Tuchola",
1461  "Trzebinia",
1462  "Ustka",
1463  "Warszawa",
1464  "Bobowa",
1465  "Dukla",
1466  "Krynica",
1467  "Murowana",
1468  "Niemcza",
1469  "Zaspa",
1470  "Zawoja",
1471  "Wola",
1472  "Limanowa",
1473  "Rabka",
1474  "Skawina",
1475  "Pilawa",
1476 };
1477 
1478 static const char * const _name_polish_2_n[] = {
1479  "Lipsko",
1480  "Pilzno",
1481  "Przodkowo",
1482  "Strzelno",
1483  "Leszno",
1484  "Jaworzno",
1485  "Choszczno",
1486  "Mogilno",
1487  "Luzino",
1488  "Miasto",
1489  "Dziadowo",
1490  "Kowalewo",
1491  "Legionowo",
1492  "Miastko",
1493  "Zabrze",
1494  "Zawiercie",
1495  "Kochanowo",
1496  "Miechucino",
1497  "Mirachowo",
1498  "Robakowo",
1499  "Kosakowo",
1500  "Borne",
1501  "Braniewo",
1502  "Sulinowo",
1503  "Chmielno",
1504  "Jastrz\u0119bie",
1505  "Gryfino",
1506  "Koronowo",
1507  "Lubichowo",
1508  "Opoczno",
1509 };
1510 
1511 static const char * const _name_polish_3_m[] = {
1512  " Wybudowanie",
1513  " \u015awi\u0119tokrzyski",
1514  " G\u00f3rski",
1515  " Morski",
1516  " Zdr\u00f3j",
1517  " Wody",
1518  " Bajoro",
1519  " Kraje\u0144ski",
1520  " \u015al\u0105ski",
1521  " Mazowiecki",
1522  " Pomorski",
1523  " Wielki",
1524  " Maly",
1525  " Warmi\u0144ski",
1526  " Mazurski",
1527  " Mniejszy",
1528  " Wi\u0119kszy",
1529  " G\u00f3rny",
1530  " Dolny",
1531  " Wielki",
1532  " Stary",
1533  " Nowy",
1534  " Wielkopolski",
1535  " Wzg\u00f3rze",
1536  " Mosty",
1537  " Kujawski",
1538  " Ma\u0142opolski",
1539  " Podlaski",
1540  " Lesny",
1541 };
1542 
1543 static const char * const _name_polish_3_f[] = {
1544  " Wybudowanie",
1545  " \u015awi\u0119tokrzyska",
1546  " G\u00f3rska",
1547  " Morska",
1548  " Zdr\u00f3j",
1549  " Woda",
1550  " Bajoro",
1551  " Kraje\u0144ska",
1552  " \u015al\u0105ska",
1553  " Mazowiecka",
1554  " Pomorska",
1555  " Wielka",
1556  " Ma\u0142a",
1557  " Warmi\u0144ska",
1558  " Mazurska",
1559  " Mniejsza",
1560  " Wi\u0119ksza",
1561  " G\u00f3rna",
1562  " Dolna",
1563  " Wielka",
1564  " Stara",
1565  " Nowa",
1566  " Wielkopolska",
1567  " Wzg\u00f3rza",
1568  " Mosty",
1569  " Kujawska",
1570  " Malopolska",
1571  " Podlaska",
1572  " Le\u015bna",
1573 };
1574 
1575 static const char * const _name_polish_3_n[] = {
1576  " Wybudowanie",
1577  " \u015awietokrzyskie",
1578  " G\u00f3rskie",
1579  " Morskie",
1580  " Zdr\u00f3j",
1581  " Wody",
1582  " Bajoro",
1583  " Kraje\u0144skie",
1584  " \u015al\u0105skie",
1585  " Mazowieckie",
1586  " Pomorskie",
1587  " Wielkie",
1588  " Ma\u0142e",
1589  " Warmi\u0144skie ",
1590  " Mazurskie ",
1591  " Mniejsze",
1592  " Wi\u0119ksze",
1593  " G\u00f3rne",
1594  " Dolne",
1595  " Wielkie",
1596  " Stare",
1597  " Nowe",
1598  " Wielkopolskie",
1599  " Wzg\u00f3rze",
1600  " Mosty",
1601  " Kujawskie",
1602  " Ma\u0142opolskie",
1603  " Podlaskie",
1604  " Le\u015bne",
1605 };
1606 
1607 static const char * const _name_czech_real[] = {
1608  "A\u0161",
1609  "Bene\u0161ov",
1610  "Beroun",
1611  "Bezdru\u017eice",
1612  "Blansko",
1613  "B\u0159eclav",
1614  "Brno",
1615  "Brunt\u00e1l",
1616  "\u010cesk\u00e1 L\u00edpa",
1617  "\u010cesk\u00e9 Bud\u011bjovice",
1618  "\u010cesk\u00fd Krumlov",
1619  "D\u011b\u010d\u00edn",
1620  "Doma\u017elice",
1621  "Dub\u00ed",
1622  "Fr\u00fddek-M\u00edstek",
1623  "Havl\u00ed\u010dk\u016fv Brod",
1624  "Hodon\u00edn",
1625  "Hradec Kr\u00e1lov\u00e9",
1626  "Humpolec",
1627  "Cheb",
1628  "Chomutov",
1629  "Chrudim",
1630  "Jablonec nad Nisou",
1631  "Jesen\u00edk",
1632  "Ji\u010d\u00edn",
1633  "Jihlava",
1634  "Jind\u0159ich\u016fv Hradec",
1635  "Karlovy Vary",
1636  "Karvin\u00e1",
1637  "Kladno",
1638  "Klatovy",
1639  "Kol\u00edn",
1640  "Kosmonosy",
1641  "Krom\u011b\u0159\u00ed\u017e",
1642  "Kutn\u00e1 Hora",
1643  "Liberec",
1644  "Litom\u011b\u0159ice",
1645  "Louny",
1646  "Man\u011bt\u00edn",
1647  "M\u011bln\u00edk",
1648  "Mlad\u00e1 Boleslav",
1649  "Most",
1650  "N\u00e1chod",
1651  "Nov\u00fd Ji\u010d\u00edn",
1652  "Nymburk",
1653  "Olomouc",
1654  "Opava",
1655  "Or\u00e1\u010dov",
1656  "Ostrava",
1657  "Pardubice",
1658  "Pelh\u0159imov",
1659  "Pol\u017eice",
1660  "P\u00edsek",
1661  "Plze\u0148",
1662  "Praha",
1663  "Prachatice",
1664  "P\u0159erov",
1665  "P\u0159\u00edbram",
1666  "Prost\u011bjov",
1667  "Rakovn\u00edk",
1668  "Rokycany",
1669  "Rudn\u00e1",
1670  "Rychnov nad Kn\u011b\u017enou",
1671  "Semily",
1672  "Sokolov",
1673  "Strakonice",
1674  "St\u0159edokluky",
1675  "\u0160umperk",
1676  "Svitavy",
1677  "T\u00e1bor",
1678  "Tachov",
1679  "Teplice",
1680  "T\u0159eb\u00ed\u010d",
1681  "Trutnov",
1682  "Uhersk\u00e9 Hradi\u0161t\u011b",
1683  "\u00dast\u00ed nad Labem",
1684  "\u00dast\u00ed nad Orlic\u00ed",
1685  "Vset\u00edn",
1686  "Vy\u0161kov",
1687  "\u017d\u010f\u00e1r nad S\u00e1zavou",
1688  "Zl\u00edn",
1689  "Znojmo",
1690 };
1691 
1692 
1693 /* The advanced hyperintelligent Czech town names generator!
1694  * The tables and MakeCzechTownName() is (c) Petr Baudis 2005 (GPL'd)
1695  * Feel free to ask me about anything unclear or if you need help
1696  * with cloning this for your own language. */
1697 
1698 /* Sing., pl. */
1699 enum CzechGender {
1700  CZG_SMASC,
1701  CZG_SFEM,
1702  CZG_SNEUT,
1703  CZG_PMASC,
1704  CZG_PFEM,
1705  CZG_PNEUT,
1706  /* Special for substantive stems - the ending chooses the gender. */
1707  CZG_FREE,
1708  /* Like CZG_FREE, but disallow CZG_SNEUT. */
1709  CZG_NFREE
1710 };
1711 
1712 enum CzechPattern {
1713  CZP_JARNI,
1714  CZP_MLADY,
1715  CZP_PRIVL
1716 };
1717 
1718 /* [CzechGender][CzechPattern] - replaces the last character of the adjective
1719  * by this.
1720  * XXX: [CZG_SMASC][CZP_PRIVL] needs special handling: -ovX -> -uv. */
1721 static const char * const _name_czech_patmod[][3] = {
1722  /* CZG_SMASC */ { "\u00ed", "\u00fd", "X" },
1723  /* CZG_SFEM */ { "\u00ed", "\u00e1", "a" },
1724  /* CZG_SNEUT */ { "\u00ed", "\u00e9", "o" },
1725  /* CZG_PMASC */ { "\u00ed", "\u00e9", "y" },
1726  /* CZG_PFEM */ { "\u00ed", "\u00e9", "y" },
1727  /* CZG_PNEUT */ { "\u00ed", "\u00e1", "a" }
1728 };
1729 
1730 /* This way the substantive can choose only some adjectives/endings:
1731  * At least one of these flags must be satisfied: */
1732 enum CzechAllow {
1733  CZA_SHORT = 1,
1734  CZA_MIDDLE = 2,
1735  CZA_LONG = 4,
1736  CZA_ALL = ~0
1737 };
1738 
1739 DECLARE_ENUM_AS_BIT_SET(CzechAllow)
1740 
1741 /* All these flags must be satisfied (in the stem->others direction): */
1742 enum CzechChoose {
1743  CZC_NONE = 0, // No requirements.
1744  CZC_COLOR = 1,
1745  CZC_POSTFIX = 2, // Matched if postfix was inserted.
1746  CZC_NOPOSTFIX = 4, // Matched if no postfix was inserted.
1747  CZC_ANY = ~0
1748 };
1749 
1750 DECLARE_ENUM_AS_BIT_SET(CzechChoose)
1751 
1753  CzechGender gender;
1754  CzechAllow allow;
1755  CzechChoose choose;
1756  const char *name;
1757 };
1758 
1760  CzechPattern pattern;
1761  CzechChoose choose;
1762  const char *name;
1763 };
1764 
1765 /* Some of items which should be common are doubled. */
1766 static const CzechNameAdj _name_czech_adj[] = {
1767  { CZP_JARNI, CZC_ANY, "Horn\u00ed" },
1768  { CZP_JARNI, CZC_ANY, "Horn\u00ed" },
1769  { CZP_JARNI, CZC_ANY, "Doln\u00ed" },
1770  { CZP_JARNI, CZC_ANY, "Doln\u00ed" },
1771  { CZP_JARNI, CZC_ANY, "P\u0159edn\u00ed" },
1772  { CZP_JARNI, CZC_ANY, "Zadn\u00ed" },
1773  { CZP_JARNI, CZC_ANY, "Kosteln\u00ed" },
1774  { CZP_JARNI, CZC_ANY, "Havran\u00ed" },
1775  { CZP_JARNI, CZC_ANY, "\u0158\u00ed\u010dn\u00ed" },
1776  { CZP_JARNI, CZC_ANY, "Jezern\u00ed" },
1777  { CZP_MLADY, CZC_ANY, "Velk\u00fd" },
1778  { CZP_MLADY, CZC_ANY, "Velk\u00fd" },
1779  { CZP_MLADY, CZC_ANY, "Mal\u00fd" },
1780  { CZP_MLADY, CZC_ANY, "Mal\u00fd" },
1781  { CZP_MLADY, CZC_ANY, "Vysok\u00fd" },
1782  { CZP_MLADY, CZC_ANY, "\u010cesk\u00fd" },
1783  { CZP_MLADY, CZC_ANY, "Moravsk\u00fd" },
1784  { CZP_MLADY, CZC_ANY, "Slov\u00e1ck\u00fd" },
1785  { CZP_MLADY, CZC_ANY, "Slezsk\u00fd" },
1786  { CZP_MLADY, CZC_ANY, "Uhersk\u00fd" },
1787  { CZP_MLADY, CZC_ANY, "Star\u00fd" },
1788  { CZP_MLADY, CZC_ANY, "Star\u00fd" },
1789  { CZP_MLADY, CZC_ANY, "Nov\u00fd" },
1790  { CZP_MLADY, CZC_ANY, "Nov\u00fd" },
1791  { CZP_MLADY, CZC_ANY, "Mlad\u00fd" },
1792  { CZP_MLADY, CZC_ANY, "Kr\u00e1lovsk\u00fd" },
1793  { CZP_MLADY, CZC_ANY, "Kamenn\u00fd" },
1794  { CZP_MLADY, CZC_ANY, "Cihlov\u00fd" },
1795  { CZP_MLADY, CZC_ANY, "Divn\u00fd" },
1796  { CZP_MLADY, CZC_COLOR, "\u010cerven\u00e1" },
1797  { CZP_MLADY, CZC_COLOR, "\u010cerven\u00e1" },
1798  { CZP_MLADY, CZC_COLOR, "\u010cerven\u00e1" },
1799  { CZP_MLADY, CZC_COLOR, "Zelen\u00e1" },
1800  { CZP_MLADY, CZC_COLOR, "\u017dlut\u00e1" },
1801  { CZP_MLADY, CZC_COLOR, "Siv\u00e1" },
1802  { CZP_MLADY, CZC_COLOR, "\u0160ed\u00e1" },
1803  { CZP_MLADY, CZC_COLOR, "B\u00edl\u00e1" },
1804  { CZP_MLADY, CZC_COLOR, "B\u00edl\u00e1" },
1805  { CZP_MLADY, CZC_COLOR, "Modr\u00e1" },
1806  { CZP_MLADY, CZC_COLOR, "R\u016f\u017eov\u00e1" },
1807  { CZP_MLADY, CZC_COLOR, "\u010cern\u00e1" },
1808  { CZP_PRIVL, CZC_ANY, "Kr\u00e1lova" },
1809  { CZP_PRIVL, CZC_ANY, "Janova" },
1810  { CZP_PRIVL, CZC_ANY, "Karlova" },
1811  { CZP_PRIVL, CZC_ANY, "Kry\u0161tofova" },
1812  { CZP_PRIVL, CZC_ANY, "Ji\u0159\u00edkova" },
1813  { CZP_PRIVL, CZC_ANY, "Petrova" },
1814  { CZP_PRIVL, CZC_ANY, "Sudovo" },
1815 };
1816 
1817 /* Considered a stem for choose/allow matching purposes. */
1818 static const CzechNameSubst _name_czech_subst_full[] = {
1819  { CZG_SMASC, CZA_ALL, CZC_COLOR, "Sedlec" },
1820  { CZG_SMASC, CZA_ALL, CZC_COLOR, "Brod" },
1821  { CZG_SMASC, CZA_ALL, CZC_COLOR, "Brod" },
1822  { CZG_SMASC, CZA_ALL, CZC_NONE, "\u00daval" },
1823  { CZG_SMASC, CZA_ALL, CZC_COLOR, "\u017d\u010f\u00e1r" },
1824  { CZG_SMASC, CZA_ALL, CZC_COLOR, "Smrk" },
1825  { CZG_SFEM, CZA_ALL, CZC_COLOR, "Hora" },
1826  { CZG_SFEM, CZA_ALL, CZC_COLOR, "Lhota" },
1827  { CZG_SFEM, CZA_ALL, CZC_COLOR, "Lhota" },
1828  { CZG_SFEM, CZA_ALL, CZC_COLOR, "Hlava" },
1829  { CZG_SFEM, CZA_ALL, CZC_COLOR, "L\u00edpa" },
1830  { CZG_SNEUT, CZA_ALL, CZC_COLOR, "Pole" },
1831  { CZG_SNEUT, CZA_ALL, CZC_COLOR, "\u00dadol\u00ed" },
1832  { CZG_PMASC, CZA_ALL, CZC_NONE, "\u00davaly" },
1833  { CZG_PFEM, CZA_ALL, CZC_COLOR, "Luka" },
1834  { CZG_PNEUT, CZA_ALL, CZC_COLOR, "Pole" },
1835 };
1836 
1837 /* TODO: More stems needed. --pasky */
1838 static const CzechNameSubst _name_czech_subst_stem[] = {
1839  { CZG_SMASC, CZA_MIDDLE, CZC_COLOR, "Kostel" },
1840  { CZG_SMASC, CZA_MIDDLE, CZC_COLOR, "Kl\u00e1\u0161ter" },
1841  { CZG_SMASC, CZA_SHORT, CZC_COLOR, "Lhot" },
1842  { CZG_SFEM, CZA_SHORT, CZC_COLOR, "Lhot" },
1843  { CZG_SFEM, CZA_SHORT, CZC_COLOR, "Hur" },
1844  { CZG_FREE, CZA_MIDDLE | CZA_LONG, CZC_NONE, "Sedl" },
1845  { CZG_FREE, CZA_SHORT | CZA_MIDDLE | CZA_LONG, CZC_COLOR, "Hrad" },
1846  { CZG_NFREE, CZA_MIDDLE, CZC_NONE, "Pras" },
1847  { CZG_NFREE, CZA_MIDDLE, CZC_NONE, "Ba\u017e" },
1848  { CZG_NFREE, CZA_MIDDLE, CZC_NONE, "Tes" },
1849  { CZG_NFREE, CZA_MIDDLE, CZC_NONE, "U\u017e" },
1850  { CZG_NFREE, CZA_MIDDLE | CZA_LONG, CZC_POSTFIX, "B\u0159" },
1851  { CZG_NFREE, CZA_MIDDLE | CZA_LONG, CZC_NONE, "Vod" },
1852  { CZG_NFREE, CZA_MIDDLE | CZA_LONG, CZC_NONE, "Jan" },
1853  { CZG_NFREE, CZA_LONG, CZC_NONE, "Prach" },
1854  { CZG_NFREE, CZA_LONG, CZC_NONE, "Kunr" },
1855  { CZG_NFREE, CZA_LONG, CZC_NONE, "Strak" },
1856  { CZG_NFREE, CZA_LONG, CZC_NONE, "V\u00edt" },
1857  { CZG_NFREE, CZA_LONG, CZC_NONE, "Vy\u0161" },
1858  { CZG_NFREE, CZA_LONG, CZC_NONE, "\u017dat" },
1859  { CZG_NFREE, CZA_LONG, CZC_NONE, "\u017der" },
1860  { CZG_NFREE, CZA_LONG, CZC_NONE, "St\u0159ed" },
1861  { CZG_NFREE, CZA_LONG, CZC_NONE, "Harv" },
1862  { CZG_NFREE, CZA_LONG, CZC_NONE, "Pruh" },
1863  { CZG_NFREE, CZA_LONG, CZC_NONE, "Tach" },
1864  { CZG_NFREE, CZA_LONG, CZC_NONE, "P\u00edsn" },
1865  { CZG_NFREE, CZA_LONG, CZC_NONE, "Jin" },
1866  { CZG_NFREE, CZA_LONG, CZC_NONE, "Jes" },
1867  { CZG_NFREE, CZA_LONG, CZC_NONE, "Jar" },
1868  { CZG_NFREE, CZA_LONG, CZC_NONE, "Sok" },
1869  { CZG_NFREE, CZA_LONG, CZC_NONE, "Hod" },
1870  { CZG_NFREE, CZA_LONG, CZC_NONE, "Net" },
1871  { CZG_FREE, CZA_LONG, CZC_NONE, "Pra\u017e" },
1872  { CZG_FREE, CZA_LONG, CZC_NONE, "Nerat" },
1873  { CZG_FREE, CZA_LONG, CZC_NONE, "Kral" },
1874  { CZG_FREE, CZA_LONG, CZC_NONE, "Hut" },
1875  { CZG_FREE, CZA_LONG, CZC_NOPOSTFIX, "Pan" },
1876  { CZG_FREE, CZA_SHORT | CZA_MIDDLE | CZA_LONG, CZC_NOPOSTFIX, "Odst\u0159ed" },
1877  { CZG_FREE, CZA_SHORT | CZA_MIDDLE | CZA_LONG, CZC_COLOR, "Mrat" },
1878  { CZG_FREE, CZA_LONG, CZC_COLOR, "Hlav" },
1879  { CZG_FREE, CZA_SHORT | CZA_MIDDLE, CZC_NONE, "M\u011b\u0159" },
1880  { CZG_FREE, CZA_MIDDLE | CZA_LONG, CZC_NONE, "Lip" },
1881 };
1882 
1883 /* Optional postfix inserted between stem and ending. */
1884 static const char * const _name_czech_subst_postfix[] = {
1885  "av", "an", "at",
1886  "ov", "on", "ot",
1887  "ev", "en", "et",
1888 };
1889 
1890 /* This array must have the both neutral genders at the end! */
1891 static const CzechNameSubst _name_czech_subst_ending[] = {
1892  { CZG_SMASC, CZA_SHORT | CZA_MIDDLE, CZC_ANY, "ec" },
1893  { CZG_SMASC, CZA_SHORT | CZA_MIDDLE, CZC_ANY, "\u00edn" },
1894  { CZG_SMASC, CZA_SHORT | CZA_MIDDLE | CZA_LONG, CZC_ANY, "ov" },
1895  { CZG_SMASC, CZA_SHORT | CZA_LONG, CZC_ANY, "kov" },
1896  { CZG_SMASC, CZA_LONG, CZC_POSTFIX, "\u00edn" },
1897  { CZG_SMASC, CZA_LONG, CZC_POSTFIX, "n\u00edk" },
1898  { CZG_SMASC, CZA_LONG, CZC_ANY, "burk" },
1899  { CZG_SFEM, CZA_SHORT, CZC_ANY, "ka" },
1900  { CZG_SFEM, CZA_MIDDLE, CZC_ANY, "inka" },
1901  { CZG_SFEM, CZA_MIDDLE, CZC_ANY, "n\u00e1" },
1902  { CZG_SFEM, CZA_LONG, CZC_ANY, "ava" },
1903  { CZG_PMASC, CZA_LONG, CZC_POSTFIX, "\u00edky" },
1904  { CZG_PMASC, CZA_LONG, CZC_ANY, "upy" },
1905  { CZG_PMASC, CZA_LONG, CZC_ANY, "olupy" },
1906  { CZG_PFEM, CZA_LONG, CZC_ANY, "avy" },
1907  { CZG_PFEM, CZA_SHORT | CZA_MIDDLE | CZA_LONG, CZC_ANY, "ice" },
1908  { CZG_PFEM, CZA_SHORT | CZA_MIDDLE | CZA_LONG, CZC_ANY, "i\u010dky" },
1909  { CZG_PNEUT, CZA_SHORT | CZA_MIDDLE, CZC_ANY, "na" },
1910  { CZG_SNEUT, CZA_SHORT | CZA_MIDDLE, CZC_ANY, "no" },
1911  { CZG_SNEUT, CZA_LONG, CZC_ANY, "i\u0161t\u011b" },
1912 };
1913 
1914 static const char * const _name_czech_suffix[] = {
1915  "nad Cidlinou",
1916  "nad Dyj\u00ed",
1917  "nad Jihlavou",
1918  "nad Labem",
1919  "nad Lesy",
1920  "nad Moravou",
1921  "nad Nisou",
1922  "nad Odrou",
1923  "nad Ostravic\u00ed",
1924  "nad S\u00e1zavou",
1925  "nad Vltavou",
1926  "pod Prad\u011bdem",
1927  "pod Radho\u0161t\u011bm",
1928  "pod \u0158\u00edpem",
1929  "pod Sn\u011b\u017ekou",
1930  "pod \u0160pi\u010d\u00e1kem",
1931  "pod Sedlem",
1932  "v \u010cech\u00e1ch",
1933  "na Morav\u011b",
1934 };
1935 
1936 
1937 
1938 static const char * const _name_romanian_real[] = {
1939  "Adjud",
1940  "Alba Iulia",
1941  "Alexandria",
1942  "Babadag",
1943  "Bac\u0103u",
1944  "Baia Mare",
1945  "B\u0103ile Herculane",
1946  "B\u0103ile\u0219ti",
1947  "B\u00e2rlad",
1948  "Bicaz",
1949  "Bistri\u021ba",
1950  "Blaj",
1951  "Borsec",
1952  "Boto\u0219ani",
1953  "Br\u0103ila",
1954  "Bra\u0219ov",
1955  "Bucure\u0219ti",
1956  "Buftea",
1957  "Buz\u0103u",
1958  "C\u0103l\u0103ra\u0219i",
1959  "Caransebe\u0219",
1960  "Cernavod\u0103",
1961  "Cluj-Napoca",
1962  "Constan\u021ba",
1963  "Covasna",
1964  "Craiova",
1965  "Dej",
1966  "Deva",
1967  "Dorohoi",
1968  "Drobeta-Turnu Severin",
1969  "Dr\u0103g\u0103\u0219ani",
1970  "F\u0103g\u0103ra\u0219",
1971  "F\u0103lticeni",
1972  "Fete\u0219ti",
1973  "Foc\u0219ani",
1974  "Gala\u021bi",
1975  "Gheorgheni",
1976  "Giurgiu",
1977  "H\u00e2r\u0219ova",
1978  "Hunedoara",
1979  "Hu\u0219i",
1980  "Ia\u0219i",
1981  "Isaccea",
1982  "Lugoj",
1983  "M\u0103cin",
1984  "Mangalia",
1985  "Medgidia",
1986  "Media\u0219",
1987  "Miercurea Ciuc",
1988  "Mizil",
1989  "Motru",
1990  "N\u0103s\u0103ud",
1991  "N\u0103vodari",
1992  "Odobe\u0219ti",
1993  "Olteni\u021ba",
1994  "One\u0219ti",
1995  "Oradea",
1996  "Or\u0219ova",
1997  "Petro\u0219ani",
1998  "Piatra Neam\u021b",
1999  "Pite\u0219ti",
2000  "Ploie\u0219ti",
2001  "Predeal",
2002  "R\u00e2mnicu V\u00e2lcea",
2003  "Reghin",
2004  "Re\u0219i\u021ba",
2005  "Roman",
2006  "Ro\u0219iorii de Vede",
2007  "Satu Mare",
2008  "Sebe\u0219",
2009  "Sf\u00e2ntu Gheorghe",
2010  "Sibiu",
2011  "Sighi\u0219oara",
2012  "Sinaia",
2013  "Slatina",
2014  "Slobozia",
2015  "Sovata",
2016  "Suceava",
2017  "Sulina",
2018  "\u021a\u0103nd\u0103rei",
2019  "T\u00e2rgovi\u0219te",
2020  "T\u00e2rgu Jiu",
2021  "T\u00e2rgu Mure\u0219",
2022  "Tecuci",
2023  "Timi\u0219oara",
2024  "Tulcea",
2025  "Turda",
2026  "Turnu M\u0103gurele",
2027  "Urziceni",
2028  "Vaslui",
2029  "Vatra Dornei",
2030  "Victoria",
2031  "Videle",
2032  "Zal\u0103u",
2033 };
2034 
2035 static const char * const _name_slovak_real[] = {
2036  "Bratislava",
2037  "B\u00e1novce nad Bebravou",
2038  "Bansk\u00e1 Bystrica",
2039  "Bansk\u00e1 \u0160tiavnica",
2040  "Bardejov",
2041  "Brezno",
2042  "Brezova pod Bradlom",
2043  "Byt\u010da",
2044  "\u010cadca",
2045  "\u010cierna nad Tisou",
2046  "Detva",
2047  "Pre\u0161ov",
2048  "Dolny Kubin",
2049  "Spi\u0161sk\u00e1 Nov\u00e1 Ves",
2050  "Dunajsk\u00e1 Streda",
2051  "Gab\u010d\u00edikovo",
2052  "Galanta",
2053  "Gbely",
2054  "Gelnica",
2055  "Handlov\u00e1",
2056  "Hlohovec",
2057  "Hol\u00ed\u010d",
2058  "Humenn\u00e9",
2059  "Hurbanovo",
2060  "Kezmarok",
2061  "Kom\u00e1rno",
2062  "Ko\u0161ice",
2063  "Kremnica",
2064  "Krompachy",
2065  "Kuty",
2066  "Leopoldov",
2067  "Levo\u010da",
2068  "Liptovsk\u00fd Mikul\u00e1\u0161",
2069  "Lu\u010denec",
2070  "Malacky",
2071  "Martin",
2072  "Medzilaborce",
2073  "Michalovce",
2074  "Modra",
2075  "Myjava",
2076  "N\u00e1mestovo",
2077  "Nitra",
2078  "Nov\u00e1 Ba\u0148a",
2079  "Nov\u00e9 Mesto nad V\u00e1hom",
2080  "Nov\u00e9 Z\u00e1mky",
2081  "Partiz\u00e1nske",
2082  "Pezinok",
2083  "Pie\u0161\u0165any",
2084  "Polt\u00e1r",
2085  "Poprad",
2086  "Pova\u017esk\u00e1 Bystrica",
2087  "Prievidza",
2088  "P\u00fachov",
2089  "Rev\u00faca",
2090  "Rimavsk\u00e1 Sobota",
2091  "Ro\u017e\u0148ava",
2092  "Ru\u017eomberok",
2093  "Sabinov",
2094  "\u0160a\u013ea",
2095  "Senec",
2096  "Senica",
2097  "Sere\u010f",
2098  "Skalica",
2099  "Sl\u00e1dkovi\u00cdovo",
2100  "Smolenice",
2101  "Snina",
2102  "Star\u00e1 \u013dubov\u0148a",
2103  "Star\u00e1 Tur\u00e1",
2104  "Str\u00e1\u017eske",
2105  "Stropkov",
2106  "Stupava",
2107  "\u0160t\u00farovo",
2108  "\u0120ulekovo",
2109  "Topo\u013e\u010dany",
2110  "Trebi\u0161ov",
2111  "Tren\u010d\u00edn",
2112  "Trnava",
2113  "Tur\u010dianske Teplice",
2114  "Tvrdo\u0161\u00edn",
2115  "Vr\u00e1ble",
2116  "Vranov nad Top\u013eou",
2117  "Z\u00e1horsk\u00e1 Bystrica",
2118  "\u017ddiar",
2119  "\u013diar nad Hronom",
2120  "\u017dilina",
2121  "Zlat\u00e9 Moravce",
2122  "Zvolen",
2123 };
2124 
2125 static const char * const _name_norwegian_1[] = {
2126  "Arna",
2127  "Aust",
2128  "Bj\u00f8rk",
2129  "Bj\u00f8rn",
2130  "Brand",
2131  "B\u00f8ver",
2132  "Drag",
2133  "Dr\u00f8",
2134  "Eids",
2135  "Egge",
2136  "Fager",
2137  "Finns",
2138  "Flat",
2139  "Foll",
2140  "Foss",
2141  "Fugle",
2142  "Furu",
2143  "Gaus",
2144  "Galte",
2145  "Geir",
2146  "Gl\u00f8s",
2147  "Gran",
2148  "Grind",
2149  "Grims",
2150  "Gr\u00f8n",
2151  "Gr\u00f8t",
2152  "Gulle",
2153  "Haka",
2154  "Hammer",
2155  "Haug",
2156  "Hol",
2157  "Hon",
2158  "Hop",
2159  "Hov",
2160  "Jess",
2161  "Kabel",
2162  "Kjerns",
2163  "Kjerring",
2164  "Knatte",
2165  "Krok",
2166  "K\u00f8y",
2167  "Lang",
2168  "Lauv",
2169  "Leir",
2170  "Lund",
2171  "Logn",
2172  "Lo",
2173  "Lyng",
2174  "L\u00f8n",
2175  "Mesna",
2176  "Mel",
2177  "Mo",
2178  "Nar",
2179  "Nitte",
2180  "Nord",
2181  "Odd",
2182  "Ola",
2183  "Otte",
2184  "Ran",
2185  "Rev",
2186  "Rog",
2187  "Roms",
2188  "Rosen",
2189  "Sand",
2190  "Sau",
2191  "Sel",
2192  "Sol",
2193  "Sjur",
2194  "Sk\u00e5r",
2195  "Sl\u00e5tt",
2196  "Stj\u00f8r",
2197  "Stor",
2198  "Svart",
2199  "Svens",
2200  "Svin",
2201  "Sylte",
2202  "Syn",
2203  "Tran",
2204  "Vass",
2205  "Ved",
2206  "Vest",
2207  "Vesle",
2208  "Vik",
2209  "V\u00e5g",
2210 };
2211 
2212 static const char * const _name_norwegian_2[] = {
2213  "aker",
2214  "anger",
2215  "bakken",
2216  "bekk",
2217  "berg",
2218  "botn",
2219  "breen",
2220  "bu",
2221  "bugen",
2222  "by",
2223  "bygd",
2224  "b\u00f8",
2225  "dal",
2226  "egga",
2227  "eid",
2228  "elv",
2229  "enga",
2230  "foss",
2231  "fjell",
2232  "fjord",
2233  "foten",
2234  "gard",
2235  "grend",
2236  "hammer",
2237  "haug",
2238  "havn",
2239  "heim",
2240  "hella",
2241  "hovda",
2242  "h\u00f8a",
2243  "h\u00f8gda",
2244  "kampen",
2245  "kj\u00f8len",
2246  "kollen",
2247  "kroken",
2248  "land",
2249  "lia",
2250  "mark",
2251  "moen",
2252  "myr",
2253  "nes",
2254  "nuten",
2255  "osen",
2256  "rike",
2257  "rud",
2258  "sand",
2259  "set",
2260  "sj\u00f8en",
2261  "skogen",
2262  "slette",
2263  "snipa",
2264  "stad",
2265  "stua",
2266  "stulen",
2267  "sund",
2268  "svingen",
2269  "s\u00e6tra",
2270  "tinden",
2271  "tun",
2272  "vang",
2273  "vatn",
2274  "veid",
2275  "vik",
2276  "voll",
2277  "v\u00e5g",
2278  "um",
2279  "\u00e5sen",
2280 };
2281 
2282 static const char * const _name_norwegian_real[] = {
2283  "Alta",
2284  "Arendal",
2285  "Askim",
2286  "Bergen",
2287  "Bod\u00f8",
2288  "Brevik",
2289  "Bryne",
2290  "Br\u00f8nn\u00f8ysund",
2291  "Drammen",
2292  "Dr\u00f8bak",
2293  "Egersund",
2294  "Elverum",
2295  "Farsund",
2296  "Fauske",
2297  "Finnsnes",
2298  "Flekkefjord",
2299  "Flora",
2300  "Fosnav\u00e5g",
2301  "Fredrikstad",
2302  "F\u00f8rde",
2303  "Gj\u00f8vik",
2304  "Grimstad",
2305  "Halden",
2306  "Hamar",
2307  "Hammerfest",
2308  "Harstad",
2309  "Haugesund",
2310  "Holmestrand",
2311  "Horten",
2312  "J\u00f8rpeland",
2313  "Kirkenes",
2314  "Kolvereid",
2315  "Kongsberg",
2316  "Kongsvinger",
2317  "Kopervik",
2318  "Krager\u00f8",
2319  "Kristiansand",
2320  "Kristiansund",
2321  "Langesund",
2322  "Larvik",
2323  "Leirvik",
2324  "Leknes",
2325  "Levanger",
2326  "Lillehammer",
2327  "Lillesand",
2328  "Lillestr\u00f8m",
2329  "Lyngdal",
2330  "L\u00f8renskog",
2331  "Mandal",
2332  "Mo i Rana",
2333  "Molde",
2334  "Mosj\u00f8en",
2335  "Moss",
2336  "Mysen",
2337  "M\u00e5l\u00f8y",
2338  "Namsos",
2339  "Narvik",
2340  "Notodden",
2341  "Odda",
2342  "Oslo",
2343  "Otta",
2344  "Porsgrunn",
2345  "Ringerike",
2346  "Ris\u00f8r",
2347  "Rjukan",
2348  "Sandefjord",
2349  "Sandnes",
2350  "Sandnessj\u00f8en",
2351  "Sandvika",
2352  "Sarpsborg",
2353  "Sauda",
2354  "Ski",
2355  "Skien",
2356  "Skudeneshavn",
2357  "Sortland",
2358  "Stathelle",
2359  "Stavanger",
2360  "Steinkjer",
2361  "Stj\u00f8rdal",
2362  "Stokmarknes",
2363  "Stord",
2364  "Svelvik",
2365  "Svolv\u00e6r",
2366  "Troms\u00f8",
2367  "Trondheim",
2368  "Tvedestrand",
2369  "T\u00f8nsberg",
2370  "Ulsteinvik",
2371  "Vads\u00f8",
2372  "Vard\u00f8",
2373  "Verdals\u00f8ra",
2374  "\u00c5krehamn",
2375  "\u00c5lesund",
2376  "\u00c5ndalsnes",
2377 };
2378 
2379 static const char * const _name_hungarian_1[] = {
2380  "Nagy-",
2381  "Kis-",
2382  "Fels\u0151-",
2383  "Als\u00f3-",
2384  "\u00daj-",
2385 };
2386 
2387 static const char * const _name_hungarian_2[] = {
2388  "Bodrog",
2389  "Dr\u00e1va",
2390  "Duna",
2391  "Hej\u0151",
2392  "Hern\u00e1d",
2393  "R\u00e1ba",
2394  "Saj\u00f3",
2395  "Szamos",
2396  "Tisza",
2397  "Zala",
2398  "Balaton",
2399  "Fert\u0151",
2400  "Bakony",
2401  "Cserh\u00e1t",
2402  "Bihar",
2403  "Hajd\u00fa",
2404  "J\u00e1sz",
2405  "Kun",
2406  "Magyar",
2407  "N\u00f3gr\u00e1d",
2408  "Ny\u00edr",
2409  "Somogy",
2410  "Sz\u00e9kely",
2411  "Buda",
2412  "Gy\u0151r",
2413  "Pest",
2414  "Feh\u00e9r",
2415  "Cser\u00e9p",
2416  "Erd\u0151",
2417  "Hegy",
2418  "Homok",
2419  "Mez\u0151",
2420  "Puszta",
2421  "S\u00e1r",
2422  "Cs\u00e1sz\u00e1r",
2423  "Herceg",
2424  "Kir\u00e1ly",
2425  "Nemes",
2426  "P\u00fcsp\u00f6k",
2427  "Szent",
2428  "Alm\u00e1s",
2429  "Szilv\u00e1s",
2430  "Agg",
2431  "Aranyos",
2432  "B\u00e9k\u00e9s",
2433  "Egyh\u00e1zas",
2434  "Gagy",
2435  "Heves",
2436  "Kapos",
2437  "T\u00e1pi\u00f3",
2438  "Torna",
2439  "Vas",
2440  "V\u00e1mos",
2441  "V\u00e1s\u00e1ros",
2442 };
2443 
2444 static const char * const _name_hungarian_3[] = {
2445  "ap\u00e1ti",
2446  "b\u00e1ba",
2447  "bikk",
2448  "dob",
2449  "fa",
2450  "f\u00f6ld",
2451  "hegyes",
2452  "kak",
2453  "kereszt",
2454  "k\u00fcrt",
2455  "lad\u00e1ny",
2456  "m\u00e9rges",
2457  "szalonta",
2458  "telek",
2459  "vas",
2460  "v\u00f6lgy",
2461 };
2462 
2463 static const char * const _name_hungarian_4[] = {
2464  "alja",
2465  "egyh\u00e1za",
2466  "h\u00e1za",
2467  "\u00far",
2468  "v\u00e1r",
2469 };
2470 
2471 static const char * const _name_hungarian_real[] = {
2472  "Ajka",
2473  "Asz\u00f3d",
2474  "Badacsony",
2475  "Baja",
2476  "Budapest",
2477  "Debrecen",
2478  "Eger",
2479  "Fony\u00f3d",
2480  "G\u00f6d\u00f6ll\u0151",
2481  "Gy\u0151r",
2482  "Gyula",
2483  "Karcag",
2484  "Kecskem\u00e9t",
2485  "Keszthely",
2486  "Kisk\u00f6re",
2487  "Kocsord",
2488  "Kom\u00e1rom",
2489  "K\u0151szeg",
2490  "Mak\u00f3",
2491  "Moh\u00e1cs",
2492  "Miskolc",
2493  "\u00d3zd",
2494  "Paks",
2495  "P\u00e1pa",
2496  "P\u00e9cs",
2497  "Polg\u00e1r",
2498  "Sarkad",
2499  "Si\u00f3fok",
2500  "Szeged",
2501  "Szentes",
2502  "Szolnok",
2503  "Tihany",
2504  "Tokaj",
2505  "V\u00e1c",
2506  "Z\u00e1hony",
2507  "Zirc",
2508 };
2509 
2510 static const char * const _name_swiss_real[] = {
2511  "Aarau",
2512  "Aesch",
2513  "Altdorf",
2514  "Arosa",
2515  "Appenzell",
2516  "Arbon",
2517  "Altst\u00e4tten",
2518  "Baar",
2519  "Baden",
2520  "Bellinzona",
2521  "Brig-Glis",
2522  "Bienne",
2523  "Bulle",
2524  "Binningen",
2525  "Burgdorf",
2526  "Bern",
2527  "Basel",
2528  "B\u00fclach",
2529  "Carouge",
2530  "Cham",
2531  "Chiasso",
2532  "Chur",
2533  "Davos",
2534  "Del\u00e9mont",
2535  "Dietikon",
2536  "D\u00fcbendorf",
2537  "Emmen",
2538  "Freienbach-Pf\u00e4ffikon",
2539  "Fribourg",
2540  "Frauenfeld",
2541  "Gen\u00e8ve",
2542  "Glarus",
2543  "Gossau",
2544  "Grenchen",
2545  "Herisau",
2546  "Horgen",
2547  "Horw",
2548  "Illnau-Effretikon",
2549  "Ittigen",
2550  "Jona",
2551  "Kriens",
2552  "Kloten",
2553  "K\u00f6niz",
2554  "Kreuzlingen",
2555  "K\u00fcsnacht",
2556  "Agen",
2557  "Lancy",
2558  "La Chaux-de-Fonds",
2559  "Lenzburg",
2560  "Lugano",
2561  "Langenthal",
2562  "Littau",
2563  "Le Locle",
2564  "La Neuveville",
2565  "Locarno",
2566  "Liestal",
2567  "La Tour-de-Peilz",
2568  "Lausanne",
2569  "Lyss",
2570  "Luzern",
2571  "Martigny",
2572  "M\u00fcnchenstein",
2573  "Meyrin",
2574  "Montreux",
2575  "Monthey",
2576  "Morges",
2577  "Murten",
2578  "Moutier",
2579  "Muttenz",
2580  "Neuch\u00e2tel",
2581  "Neuhausen am Rheinfall",
2582  "Nyon",
2583  "Olten",
2584  "Onex",
2585  "Opfikon",
2586  "Ostermundigen",
2587  "Payerne",
2588  "Peseux",
2589  "Prilly",
2590  "Pully",
2591  "Rapperswil",
2592  "Richterswil",
2593  "Regensdorf",
2594  "Rheinfelden",
2595  "Riehen",
2596  "Renens",
2597  "Romanshorn",
2598  "Rorschach",
2599  "Stans",
2600  "Schaffhausen",
2601  "Steffisburg",
2602  "St. Gallen",
2603  "Schlieren",
2604  "Sierre",
2605  "Solothurn",
2606  "St. Moritz",
2607  "Sion",
2608  "Spiez",
2609  "St\u00e4fa",
2610  "Sursee",
2611  "Schwyz",
2612  "Thalwil",
2613  "Th\u00f4nex",
2614  "Thun",
2615  "Uster",
2616  "Uzwil",
2617  "Vernier",
2618  "Volketswil",
2619  "Versoix",
2620  "Vevey",
2621  "W\u00e4denswil",
2622  "Wettingen",
2623  "Wil",
2624  "Wallisellen",
2625  "Winterthur",
2626  "Wohlen",
2627  "Worb",
2628  "Wetzikon",
2629  "Yverdon-les-Bains",
2630  "Zollikon",
2631  "Zofingen",
2632  "Z\u00fcrich",
2633  "Zug",
2634 };
2635 
2636 static const char * const _name_danish_1[] = {
2637  "Gamle ",
2638  "Lille ",
2639  "Nye ",
2640  "Store ",
2641  "Kirke ",
2642  "N\u00f8rre ",
2643  "Vester ",
2644  "S\u00f8nder ",
2645  "\u00d8ster ",
2646  "Hvide ",
2647  "H\u00f8je ",
2648  "Kongens ",
2649 };
2650 
2651 static const char * const _name_danish_2[] = {
2652  "Ager",
2653  "Alle",
2654  "Aske",
2655  "Balle",
2656  "Bede",
2657  "Birke",
2658  "Bjerring",
2659  "Bj\u00e6ver",
2660  "Blommens",
2661  "Blok",
2662  "Bolder",
2663  "Bred",
2664  "Charlotten",
2665  "Christians",
2666  "Danne",
2667  "Diana",
2668  "Es",
2669  "Fredens",
2670  "Frederiks",
2671  "Fugle",
2672  "F\u00e5re",
2673  "Gille",
2674  "Gis",
2675  "Givs",
2676  "Glams",
2677  "Glo",
2678  "Guld",
2679  "Had",
2680  "Haralds",
2681  "Hassel",
2682  "Hede",
2683  "Helle",
2684  "Hessel",
2685  "Hjorts",
2686  "Hol",
2687  "Horn",
2688  "Humle",
2689  "H\u00f8j",
2690  "H\u00f8r",
2691  "Is",
2692  "Jyde",
2693  "J\u00e6gers",
2694  "Karls",
2695  "Klov",
2696  "Kokke",
2697  "Kvist",
2698  "Lang",
2699  "Lange",
2700  "Mari",
2701  "Nord",
2702  "Ny",
2703  "Oks",
2704  "Ring",
2705  "R\u00f8de",
2706  "Rung",
2707  "R\u00f8r",
2708  "Rud",
2709  "Saks",
2710  "Salt",
2711  "Skam",
2712  "Silke",
2713  "Skod",
2714  "Sk\u00e6l",
2715  "Sk\u00e6r",
2716  "Sol",
2717  "Svend",
2718  "Svine",
2719  "Strand",
2720  "Stubbe",
2721  "Ting",
2722  "Tj\u00e6re",
2723  "Tore",
2724  "Uger",
2725  "Ulf",
2726  "Val",
2727  "Vand",
2728  "Vej",
2729  "Vor",
2730  "V\u00e6r",
2731  "\u00d8r",
2732  "\u00c5l",
2733 };
2734 
2735 static const char * const _name_danish_3[] = {
2736  "basse",
2737  "borg",
2738  "berg",
2739  "bro",
2740  "by",
2741  "havn",
2742  "strup",
2743  "holm",
2744  "hus",
2745  "k\u00f8bing",
2746  "lund",
2747  "lunde",
2748  "sund",
2749  "ovre",
2750  "h\u00f8j",
2751  "dal",
2752  "sted",
2753  "sten",
2754  "l\u00f8se",
2755  "r\u00f8d",
2756  "magle",
2757  "s\u00f8",
2758  "bjerg",
2759  "b\u00e6k",
2760  "drup",
2761  "lev",
2762  "bo",
2763  "lyst",
2764  "feld",
2765  "skov",
2766 };
2767 
2768 static const char * const _name_turkish_prefix[] = {
2769  "Ak\u00e7a",
2770  "Alt\u0131n",
2771  "Bah\u00e7e",
2772  "Boz",
2773  "B\u00fcy\u00fck",
2774  "\u00c7ay",
2775  "Do\u011fu",
2776  "Eski",
2777  "G\u00fczel",
2778  "K\u0131z\u0131l",
2779  "K\u00fc\u00e7\u00fck",
2780  "Orta",
2781  "Sar\u0131",
2782  "Sultan",
2783  "Ulu",
2784  "Yeni",
2785 };
2786 
2787 static const char * const _name_turkish_middle[] = {
2788  "aga\u00e7",
2789  "ayva",
2790  "\u00e7am",
2791  "elma",
2792  "kurt",
2793  "pazar",
2794  "yal\u0131",
2795 };
2796 
2797 static const char * const _name_turkish_suffix[] = {
2798  "dere",
2799  "hisar",
2800  "kale",
2801  "kaya",
2802  "kent",
2803  "k\u00f6y",
2804  "ova",
2805  "\u00f6z\u00fc",
2806  "\u00f6ren",
2807  "pazar",
2808  "saray",
2809  "tepe",
2810  "yer",
2811  "yurt",
2812 };
2813 
2814 static const char * const _name_turkish_real[] = {
2815  "Adana",
2816  "Ad\u0131yaman",
2817  "Afyon",
2818  "A\u011fr\u0131",
2819  "Amasya",
2820  "Antalya",
2821  "Artvin",
2822  "Bal\u0131kesir",
2823  "Bilecik",
2824  "Bitlis",
2825  "Bolu",
2826  "Burdur",
2827  "Bursa",
2828  "\u00c7anakkale",
2829  "\u00c7ank\u0131r\u0131",
2830  "Denizli",
2831  "Diyarbak\u0131r",
2832  "Edirne",
2833  "Elaz\u0131\u011f",
2834  "Erzurum",
2835  "Eski\u015fehir",
2836  "Giresun",
2837  "G\u00fcm\u00fc\u015fhane",
2838  "Hatay",
2839  "Isparta",
2840  "\u0130\u00e7el",
2841  "\u0130stanbul",
2842  "\u0130zmir",
2843  "Kars",
2844  "Kastamonu",
2845  "Kayseri",
2846  "Kirklareli",
2847  "Kocaeli",
2848  "Konya",
2849  "K\u00fctahya",
2850  "Malatya",
2851  "Manisa",
2852  "Kahramanmara\u015f",
2853  "Mardin",
2854  "Mu\u011fla",
2855  "Mu\u015f",
2856  "Nev\u015fehir",
2857  "Ni\u011fde",
2858  "Rize",
2859  "Sakarya",
2860  "Samsun",
2861  "Siirt",
2862  "Sinop",
2863  "Sivas",
2864  "Trabzon",
2865  "\u015eanl\u0131urfa",
2866  "Van",
2867  "Yozgat",
2868  "Zonguldak",
2869  "Aksaray",
2870  "Bayburt",
2871  "Karaman",
2872  "\u015e\u0131rnak",
2873  "Bart\u0131n",
2874  "Ardahan",
2875  "I\u011fd\u0131r",
2876  "Yalova",
2877  "Karab\u00fck",
2878  "Osmaniye",
2879  "D\u00fczce",
2880 };
2881 
2882 static const char * const _name_italian_real[] = {
2883  "Roma",
2884  "Milano",
2885  "Napoli",
2886  "Torino",
2887  "Venezia",
2888  "Firenze",
2889  "Palermo",
2890  "Genova",
2891  "Parma",
2892  "Bologna",
2893  "Bari",
2894  "Cagliari",
2895  "Sassari",
2896  "Pisa",
2897  "Aosta",
2898  "Brescia",
2899  "Verona",
2900  "Bolzano",
2901  "Padova",
2902  "Udine",
2903  "Trieste",
2904  "Livorno",
2905  "Ancona",
2906  "Perugia",
2907  "Pescara",
2908  "L'Aquila",
2909  "Campobasso",
2910  "Potenza",
2911  "Cosenza",
2912  "Reggio Calabria",
2913  "Catania",
2914  "Caltanisetta",
2915  "Agrigento",
2916  "La Spezia",
2917  "Modena",
2918  "Vicenza",
2919  "Mantova",
2920  "Cremona",
2921  "Piacenza",
2922  "Reggio Emilia",
2923  "Foggia",
2924  "Benevento",
2925  "Salerno",
2926  "Catanzaro",
2927  "Lecce",
2928  "Como",
2929  "Lecco",
2930  "Sondrio",
2931  "Trento",
2932  "Desenzano",
2933  "Cuneo",
2934  "Asti",
2935  "Lodi",
2936  "Novara",
2937  "Biella",
2938  "Vercelli",
2939  "Rieti",
2940  "Nuoro",
2941  "Oristano",
2942  "Matera",
2943  "Taranto",
2944  "Varese",
2945  "Bergamo",
2946  "Pavia",
2947  "Caserta",
2948  "Frosinone",
2949  "Latina",
2950  "Enna",
2951  "Ragusa",
2952  "Siracusa",
2953  "Pordenone",
2954  "Imperia",
2955  "Verbania",
2956  "Alessandria",
2957  "Messina",
2958  "Siena",
2959  "Arezzo",
2960  "Grosseto",
2961 };
2962 
2963 static const char * const _name_italian_pref[] = {
2964  "Alpe ",
2965  "Borgo ",
2966  "Cascina ",
2967  "Castel ",
2968  "Fonte ",
2969  "Forte ",
2970  "Malga ",
2971  "Pieve ",
2972  "Poggio ",
2973  "Rocca ",
2974  "Villa ",
2975  "Villar ",
2976 };
2977 
2978 static const char * const _name_italian_1m[] = {
2979  "Bel",
2980  "Borgo",
2981  "Bosco",
2982  "Campo",
2983  "Capo",
2984  "Casal",
2985  "Castel",
2986  "Colle",
2987  "Fiume",
2988  "Fonte",
2989  "Lago",
2990  "Mezzo",
2991  "Monte",
2992  "Mon",
2993  "Orto",
2994  "Passo",
2995  "Prato",
2996  "Poggio",
2997  "Ponte",
2998  "Pozzo",
2999  "Sasso",
3000  "Tra",
3001  "Tre",
3002  "Ver",
3003  "Vico",
3004 };
3005 
3006 static const char * const _name_italian_1f[] = {
3007  "Acqua",
3008  "Bra",
3009  "Cala",
3010  "Casa",
3011  "Chiesa",
3012  "Citta",
3013  "Civita",
3014  "Corte",
3015  "Costa",
3016  "Croce",
3017  "Fontana",
3018  "Grotta",
3019  "Guardia",
3020  "Mezza",
3021  "Palma",
3022  "Pietra",
3023  "Ripa",
3024  "Rocca",
3025  "Serra",
3026  "Torre",
3027  "Val",
3028  "Valle",
3029  "Villa",
3030 };
3031 
3032 static const char * const _name_italian_2[] = {
3033  "bell",
3034  "bianc",
3035  "cald",
3036  "chiar",
3037  "cort",
3038  "ferrat",
3039  "fier",
3040  "fredd",
3041  "gioios",
3042  "grec",
3043  "guzz",
3044  "lung",
3045  "long",
3046  "migli",
3047  "negr",
3048  "ner",
3049  "nov",
3050  "nuov",
3051  "ross",
3052  "rotond",
3053  "scur",
3054  "secc",
3055  "sett",
3056  "vecchi",
3057  "ventos",
3058  "vers",
3059  "viv",
3060 };
3061 
3062 static const char * const _name_italian_2i[] = {
3063  "",
3064  "breve",
3065  "brevi",
3066  "chiari",
3067  "ferro",
3068  "fieschi",
3069  "fiore",
3070  "fonte",
3071  "forte",
3072  "gate",
3073  "leone",
3074  "maggiore",
3075  "minore",
3076  "mole",
3077  "monte",
3078  "poli",
3079  "scuri",
3080  "terra",
3081  "te",
3082  "torrione",
3083  "vento",
3084  "verde",
3085  "versiere",
3086 };
3087 
3088 
3089 static const char * const _name_italian_3[] = {
3090  " Marittimo",
3091  " Marittima",
3092  " del Capo",
3093  " del Monte",
3094  " di Sopra",
3095  " di Sotto",
3096  " sui Monti",
3097  " dei Marmi",
3098  " dei Sassi",
3099  " delle Fonti",
3100  " sui Prati",
3101  " a Mare",
3102  " Superiore",
3103  " Inferiore",
3104  " Terme",
3105  " Alta",
3106  " Bassa",
3107  " Brianza",
3108  " Vesuviano",
3109  " Scrivia",
3110  " Ticino",
3111 };
3112 
3113 static const char * const _name_italian_river1[] = {
3114  " del",
3115  " sul",
3116  " al",
3117  " nel",
3118 };
3119 
3120 static const char * const _name_italian_river2[] = {
3121  "l'Adda",
3122  "l'Adige",
3123  "le Alpi",
3124  "l'Arno",
3125  " Bormida",
3126  " Brenta",
3127  "la Dora Baltea",
3128  " Lambro",
3129  " Mincio",
3130  " Naviglio",
3131  "l'Oglio",
3132  "l'Olona",
3133  "l'Ombrone",
3134  " Panaro",
3135  " Piave",
3136  " Po",
3137  " Reno",
3138  " Scrivia",
3139  " Secchia",
3140  " Serio",
3141  " Tagliamento",
3142  " Tanaro",
3143  " Taro",
3144  " Ticino",
3145  " Tevere",
3146 };
3147 
3148 static const char * const _name_catalan_real[] = {
3149  "Barcelona",
3150  "L'Hospitalet de Llobregat",
3151  "Cerdanyola",
3152  "Martorell",
3153  "Badalona",
3154  "Tarragona",
3155  "Lleida",
3156  "Girona",
3157  "Sabadell",
3158  "Terrassa",
3159  "Reus",
3160  "Valls",
3161  "Vic",
3162  "Vielha e Mijaran",
3163  "Amposta",
3164  "Tortosa",
3165  "Berga",
3166  "Olot",
3167  "Mollerussa",
3168  "Banyoles",
3169  "Figueres",
3170  "Balaguer",
3171  "Vilafranca del Pened\u00e8s",
3172  "La Seu d'Urgell",
3173  "El Pont de Suert",
3174  "Igualada",
3175  "Manresa",
3176  "Solsona",
3177  "Les Borges Blanques",
3178  "Tremp",
3179  "Sort",
3180  "Colera",
3181  "Portbou",
3182  "El Vendrell",
3183  "Falset",
3184  "Ripoll",
3185  "Cervera",
3186  "Gandesa",
3187  "Matar\u00f3",
3188  "Montblanc",
3189  "Vilanova i la Geltr\u00fa",
3190  "T\u00e0rrega",
3191  "Camprodon",
3192  "Campdev\u00e0nol",
3193  "Cambrils",
3194  "Begur",
3195  "Setcases",
3196  "Palafrugell",
3197  "Begues",
3198  "El Bruc",
3199  "Cadaqu\u00e9s",
3200  "Collbat\u00f3",
3201  "Cervell\u00f3",
3202  "Esparreguera",
3203  "Abrera",
3204  "Alp",
3205  "Das",
3206  "Cercs",
3207  "Manlleu",
3208  "El Masnou",
3209  "Molins de Rei",
3210  "Monistrol",
3211  "Rocallaura",
3212  "Rub\u00ed",
3213  "Ripollet",
3214  "Sitges",
3215  "Roses",
3216 };
3217 
3218 static const char * const _name_catalan_pref[] = {
3219  "El Pont de ",
3220  "Parets de ",
3221  "Canet de ",
3222  "Castellar de ",
3223  "Corbera de ",
3224  "Arenys de ",
3225  "Calella de ",
3226  "La Seu de ",
3227  "La Bisbal de ",
3228  "Torroella de ",
3229  "Port de ",
3230  "Vilafranca de ",
3231  "Vilanova de ",
3232  "Caldes de ",
3233  "La Conca de ",
3234  "Olesa de ",
3235  "La Roca de ",
3236  "Sant Esteve de ",
3237  "Sant Andreu de ",
3238  "Sant Jordi de ",
3239  "Sant Joan de ",
3240  "Sant Feliu de ",
3241  "Sant Quirze de ",
3242  "Sant Sadurn\u00ed de ",
3243  "Santa Coloma de ",
3244  "Santa Margarida de ",
3245  "Santa Maria de ",
3246  "Sant Mart\u00ed de ",
3247  "Sant Pere de ",
3248  "Sant Juli\u00e0 de ",
3249  "Sant Vicen\u00e7 de ",
3250 
3251 };
3252 
3253 static const char * const _name_catalan_1m[] = {
3254  "Torrent",
3255  "Cami",
3256  "Mont",
3257  "Bell",
3258  "Puig",
3259  "Riu",
3260 };
3261 
3262 static const char * const _name_catalan_1f[] = {
3263  "Pala",
3264  "Selva",
3265  "Vall",
3266  "Serra",
3267  "Torre",
3268  "Riba",
3269  "Cova",
3270  "Terra",
3271 };
3272 
3273 static const char * const _name_catalan_2m[] = {
3274  "alt",
3275  "baix",
3276  "fosc",
3277  "pelat",
3278  "vent\u00f3s",
3279  "negre",
3280  "roig",
3281  "gr\u00eds",
3282 };
3283 
3284 static const char * const _name_catalan_2f[] = {
3285  "baixa",
3286  "alta",
3287  "fosca",
3288  "clara",
3289  "negra",
3290  "roja",
3291  "grisa",
3292  "freda",
3293 };
3294 
3295 static const char * const _name_catalan_3[] = {
3296  " Desp\u00ed",
3297  " Desvern",
3298  " del Cam\u00ed",
3299  " de Mar",
3300  " de Dalt",
3301  " de Baix",
3302  " del Vall\u00e8s",
3303  " de Bergued\u00e0",
3304  " de Conflent",
3305  " de la Plana",
3306 };
3307 
3308 static const char * const _name_catalan_river1[] = {
3309  " d'Anoia",
3310  " de Ter",
3311  " de Llobregat",
3312  " d'Ebre",
3313  " de Segre",
3314  " de Francol\u00ed",
3315 };
DECLARE_ENUM_AS_BIT_SET(GenderEthnicity) enum CompanyManagerFaceVariable
Bitgroups of the CompanyManagerFace variable.