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