OpenTTD Source  1.11.2
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  u8"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  u8"H\u00fctt",
336  "Kaisers",
337  u8"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  u8"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  u8"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  u8"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  u8"K\u00f6ln",
470  u8"L\u00fcbeck",
471  "Magdeburg",
472  u8"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  u8"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  u8"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  u8"L\u00fcne",
531  "Mel",
532  "Michels",
533  u8"M\u00fchl",
534  "Naum",
535  "Nest",
536  "Nord",
537  "Nort",
538  "Nien",
539  "Nidda",
540  "Nieder",
541  u8"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  u8"R\u00fcssels",
556  "Saal",
557  "Saar",
558  "Salz",
559  u8"Sch\u00f6ne",
560  "Schwein",
561  "Sonder",
562  "Sonnen",
563  "Stein",
564  "Strals",
565  "Straus",
566  u8"S\u00fcd",
567  "Ton",
568  "Unter",
569  "Ur",
570  "Vor",
571  "Wald",
572  "War",
573  "Wert",
574  "Wester",
575  "Witten",
576  "Wolfs",
577  u8"W\u00fcrz",
578 };
579 
580 static const char * const _name_german_2[] = {
581  "bach",
582  "berg",
583  u8"br\u00fcck",
584  u8"br\u00fccken",
585  "burg",
586  "dorf",
587  "feld",
588  "furt",
589  "hausen",
590  "haven",
591  "heim",
592  "horst",
593  "mund",
594  u8"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  u8"Ciudad Bol\u00edvar",
629  "Barquisimeto",
630  u8"M\u00e9rida",
631  "Puerto Ordaz",
632  "Santa Elena",
633  "San Juan",
634  "San Luis",
635  "San Rafael",
636  "Santiago",
637  "Barcelona",
638  "Barinas",
639  u8"San Crist\u00f3bal",
640  "San Francisco",
641  u8"San Mart\u00edn",
642  "Guayana",
643  "San Carlos",
644  u8"El Lim\u00f3n",
645  "Coro",
646  "Coro Coro",
647  "Puerto Ayacucho",
648  "Elorza",
649  "Arismendi",
650  "Trujillo",
651  u8"Car\u00fapano",
652  "Anaco",
653  "Lima",
654  "Cuzco",
655  "Iquitos",
656  "Callao",
657  "Huacho",
658  u8"Caman\u00e1",
659  "Puerto Chala",
660  "Santa Cruz",
661  "Quito",
662  "Cuenca",
663  u8"Medell\u00edn",
664  u8"Tulc\u00e1n",
665  "Esmeraldas",
666  "Ibarra",
667  "San Lorenzo",
668  "Macas",
669  u8"Mora\u00f1a",
670  "Machala",
671  "Zamora",
672  "Latacunga",
673  "Tena",
674  "Cochabamba",
675  u8"Ascensi\u00f3n",
676  "Magdalena",
677  "Santa Ana",
678  "Manoa",
679  "Sucre",
680  "Oruro",
681  "Uyuni",
682  u8"Potos\u00ed",
683  "Tupiza",
684  "La Quiaca",
685  u8"Yacu\u00edba",
686  "San Borja",
687  "Fuerte Olimpo",
688  u8"Fort\u00edn Esteros",
689  "Campo Grande",
690  u8"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  u8"Mont\u00e9limar",
719  "Valence",
720  "Digne",
721  "Nice",
722  "Cannes",
723  "St. Tropez",
724  "Marseille",
725  "Narbonne",
726  u8"S\u00e8te",
727  "Aurillac",
728  u8"Gu\u00e9ret",
729  "Le Creusot",
730  "Nevers",
731  "Auxerre",
732  "Versailles",
733  "Meaux",
734  u8"Ch\u00e2lons",
735  u8"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  u8"Ch\u00e2teauroux",
749  u8"Orl\u00e9ans",
750  "Lisieux",
751  "Cherbourg",
752  "Morlaix",
753  "Cognac",
754  "Agen",
755  "Tulle",
756  "Blois",
757  "Troyes",
758  "Charolles",
759  "Toulouse",
760  u8"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  u8"B\u00e9ziers",
775  u8"N\u00eemes",
776  "Chamonix",
777  u8"Angoul\u00e8me",
778  u8"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  u8"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  u8"Str\u00f6m",
926  "Sund",
927  u8"S\u00f6der",
928  "Tall",
929  "Tratt",
930  "Troll",
931  "Upp",
932  "Var",
933  u8"V\u00e4ster",
934  u8"\u00c4ngel",
935  u8"\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  u8"\u00e5",
991  u8"\u00e4",
992  u8"\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  u8"h\u00e4ttan",
1039  "kulle",
1040  u8"k\u00f6ping",
1041  "lund",
1042  u8"l\u00f6v",
1043  "sala",
1044  "skrona",
1045  u8"sl\u00e4tt",
1046  u8"sp\u00e5ng",
1047  "stad",
1048  "sund",
1049  "svall",
1050  "svik",
1051  u8"s\u00e5ker",
1052  "udde",
1053  "valla",
1054  "viken",
1055  u8"\u00e4lv",
1056  u8"\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  u8"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  u8"Kes\u00e4",
1259  "Kuusi",
1260  "Pelto",
1261  "Tuomi",
1262  "Terva",
1263  "Olki",
1264  u8"Hein\u00e4",
1265  u8"Sein\u00e4",
1266  "Rova",
1267  "Koivu",
1268  "Kokko",
1269  u8"M\u00e4nty",
1270  "Pihlaja",
1271  u8"Pet\u00e4j\u00e4",
1272  "Kielo",
1273  "Kauha",
1274  "Viita",
1275  "Kivi",
1276  "Riihi",
1277  u8"\u00c4\u00e4ne",
1278  "Niini",
1279 };
1280 
1281 static const char * const _name_finnish_2[] = {
1282  "Lappeen",
1283  "Lohjan",
1284  "Savon",
1285  "Lapin",
1286  u8"Pit\u00e4j\u00e4n",
1287  "Martin",
1288  "Kuusan",
1289  "Kemi",
1290  "Keri",
1291  u8"H\u00e4meen",
1292  "Kangas",
1293 };
1294 
1295 static const char * const _name_finnish_3[] = {
1296  "harju",
1297  "linna",
1298  u8"j\u00e4rvi",
1299  "kallio",
1300  u8"m\u00e4ki",
1301  "nummi",
1302  "joki",
1303  u8"kyl\u00e4",
1304  "lampi",
1305  "lahti",
1306  u8"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  u8"Ma\u0142y ",
1320  u8"Z\u0142y ",
1321  "Dobry ",
1322  "Nowy ",
1323  "Stary ",
1324  u8"Z\u0142oty ",
1325  "Zielony ",
1326  u8"Bia\u0142y ",
1327  "Modry ",
1328  u8"D\u0119bowy ",
1329 };
1330 
1331 static const char * const _name_polish_1_f[] = {
1332  "Wielka ",
1333  u8"Ma\u0142a ",
1334  u8"Z\u0142a ",
1335  "Dobra ",
1336  "Nowa ",
1337  "Stara ",
1338  u8"Z\u0142ota ",
1339  "Zielona ",
1340  u8"Bia\u0142a ",
1341  "Modra ",
1342  u8"D\u0119bowa ",
1343 };
1344 
1345 static const char * const _name_polish_1_n[] = {
1346  "Wielkie ",
1347  u8"Ma\u0142e ",
1348  u8"Z\u0142e ",
1349  "Dobre ",
1350  "Nowe ",
1351  "Stare ",
1352  u8"Z\u0142ote ",
1353  "Zielone ",
1354  u8"Bia\u0142e ",
1355  "Modre ",
1356  u8"D\u0119bowe ",
1357 };
1358 
1359 static const char * const _name_polish_2_o[] = {
1360  "Frombork",
1361  "Gniezno",
1362  "Olsztyn",
1363  u8"Toru\u0144",
1364  "Bydgoszcz",
1365  "Terespol",
1366  u8"Krak\u00f3w",
1367  u8"Pozna\u0144",
1368  u8"Wroc\u0142aw",
1369  "Katowice",
1370  "Cieszyn",
1371  "Bytom",
1372  "Frombork",
1373  "Hel",
1374  "Konin",
1375  "Lublin",
1376  "Malbork",
1377  "Sopot",
1378  "Sosnowiec",
1379  u8"Gda\u0144sk",
1380  "Gdynia",
1381  "Sieradz",
1382  "Sandomierz",
1383  "Szczyrk",
1384  "Szczytno",
1385  "Szczecin",
1386  "Zakopane",
1387  u8"Szklarska Por\u0119ba",
1388  "Bochnia",
1389  "Golub-Dobrzyn",
1390  "Chojnice",
1391  "Ostrowiec",
1392  "Otwock",
1393  "Wolsztyn",
1394 };
1395 
1396 static const char * const _name_polish_2_m[] = {
1397  "Jarocin",
1398  "Gogolin",
1399  u8"Tomasz\u00f3w",
1400  u8"Piotrk\u00f3w",
1401  "Lidzbark",
1402  "Rypin",
1403  "Radzymin",
1404  u8"Wo\u0142omin",
1405  u8"Pruszk\u00f3w",
1406  "Olsztynek",
1407  "Rypin",
1408  "Cisek",
1409  "Krotoszyn",
1410  "Stoczek",
1411  "Lubin",
1412  "Lubicz",
1413  "Milicz",
1414  "Targ",
1415  u8"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  u8"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  u8"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  "Susz",
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  u8"Jastrz\u0119bie",
1505  "Gryfino",
1506  "Koronowo",
1507  "Lubichowo",
1508  "Opoczno",
1509 };
1510 
1511 static const char * const _name_polish_3_m[] = {
1512  " Wybudowanie",
1513  u8" \u015awi\u0119tokrzyski",
1514  u8" G\u00f3rski",
1515  " Morski",
1516  u8" Zdr\u00f3j",
1517  " Wody",
1518  " Bajoro",
1519  u8" Kraje\u0144ski",
1520  u8" \u015al\u0105ski",
1521  " Mazowiecki",
1522  " Pomorski",
1523  " Wielki",
1524  " Maly",
1525  u8" Warmi\u0144ski",
1526  " Mazurski",
1527  " Mniejszy",
1528  u8" Wi\u0119kszy",
1529  u8" G\u00f3rny",
1530  " Dolny",
1531  " Wielki",
1532  " Stary",
1533  " Nowy",
1534  " Wielkopolski",
1535  u8" Wzg\u00f3rze",
1536  " Mosty",
1537  " Kujawski",
1538  u8" Ma\u0142opolski",
1539  " Podlaski",
1540  " Lesny",
1541 };
1542 
1543 static const char * const _name_polish_3_f[] = {
1544  " Wybudowanie",
1545  u8" \u015awi\u0119tokrzyska",
1546  u8" G\u00f3rska",
1547  " Morska",
1548  u8" Zdr\u00f3j",
1549  " Woda",
1550  " Bajoro",
1551  u8" Kraje\u0144ska",
1552  u8" \u015al\u0105ska",
1553  " Mazowiecka",
1554  " Pomorska",
1555  " Wielka",
1556  u8" Ma\u0142a",
1557  u8" Warmi\u0144ska",
1558  " Mazurska",
1559  " Mniejsza",
1560  u8" Wi\u0119ksza",
1561  u8" G\u00f3rna",
1562  " Dolna",
1563  " Wielka",
1564  " Stara",
1565  " Nowa",
1566  " Wielkopolska",
1567  u8" Wzg\u00f3rza",
1568  " Mosty",
1569  " Kujawska",
1570  " Malopolska",
1571  " Podlaska",
1572  u8" Le\u015bna",
1573 };
1574 
1575 static const char * const _name_polish_3_n[] = {
1576  " Wybudowanie",
1577  u8" \u015awietokrzyskie",
1578  u8" G\u00f3rskie",
1579  " Morskie",
1580  u8" Zdr\u00f3j",
1581  " Wody",
1582  " Bajoro",
1583  u8" Kraje\u0144skie",
1584  u8" \u015al\u0105skie",
1585  " Mazowieckie",
1586  " Pomorskie",
1587  " Wielkie",
1588  u8" Ma\u0142e",
1589  u8" Warmi\u0144skie ",
1590  " Mazurskie ",
1591  " Mniejsze",
1592  u8" Wi\u0119ksze",
1593  u8" G\u00f3rne",
1594  " Dolne",
1595  " Wielkie",
1596  " Stare",
1597  " Nowe",
1598  " Wielkopolskie",
1599  u8" Wzg\u00f3rze",
1600  " Mosty",
1601  " Kujawskie",
1602  u8" Ma\u0142opolskie",
1603  " Podlaskie",
1604  u8" Le\u015bne",
1605 };
1606 
1607 static const char * const _name_czech_real[] = {
1608  u8"A\u0161",
1609  u8"Bene\u0161ov",
1610  "Beroun",
1611  u8"Bezdru\u017eice",
1612  "Blansko",
1613  u8"B\u0159eclav",
1614  "Brno",
1615  u8"Brunt\u00e1l",
1616  u8"\u010cesk\u00e1 L\u00edpa",
1617  u8"\u010cesk\u00e9 Bud\u011bjovice",
1618  u8"\u010cesk\u00fd Krumlov",
1619  u8"D\u011b\u010d\u00edn",
1620  u8"Doma\u017elice",
1621  u8"Dub\u00ed",
1622  u8"Fr\u00fddek-M\u00edstek",
1623  u8"Havl\u00ed\u010dk\u016fv Brod",
1624  u8"Hodon\u00edn",
1625  u8"Hradec Kr\u00e1lov\u00e9",
1626  "Humpolec",
1627  "Cheb",
1628  "Chomutov",
1629  "Chrudim",
1630  "Jablonec nad Nisou",
1631  u8"Jesen\u00edk",
1632  u8"Ji\u010d\u00edn",
1633  "Jihlava",
1634  u8"Jind\u0159ich\u016fv Hradec",
1635  "Karlovy Vary",
1636  u8"Karvin\u00e1",
1637  "Kladno",
1638  "Klatovy",
1639  u8"Kol\u00edn",
1640  "Kosmonosy",
1641  u8"Krom\u011b\u0159\u00ed\u017e",
1642  u8"Kutn\u00e1 Hora",
1643  "Liberec",
1644  u8"Litom\u011b\u0159ice",
1645  "Louny",
1646  u8"Man\u011bt\u00edn",
1647  u8"M\u011bln\u00edk",
1648  u8"Mlad\u00e1 Boleslav",
1649  "Most",
1650  u8"N\u00e1chod",
1651  u8"Nov\u00fd Ji\u010d\u00edn",
1652  "Nymburk",
1653  "Olomouc",
1654  "Opava",
1655  u8"Or\u00e1\u010dov",
1656  "Ostrava",
1657  "Pardubice",
1658  u8"Pelh\u0159imov",
1659  u8"Pol\u017eice",
1660  u8"P\u00edsek",
1661  u8"Plze\u0148",
1662  "Praha",
1663  "Prachatice",
1664  u8"P\u0159erov",
1665  u8"P\u0159\u00edbram",
1666  u8"Prost\u011bjov",
1667  u8"Rakovn\u00edk",
1668  "Rokycany",
1669  u8"Rudn\u00e1",
1670  u8"Rychnov nad Kn\u011b\u017enou",
1671  "Semily",
1672  "Sokolov",
1673  "Strakonice",
1674  u8"St\u0159edokluky",
1675  u8"\u0160umperk",
1676  "Svitavy",
1677  u8"T\u00e1bor",
1678  "Tachov",
1679  "Teplice",
1680  u8"T\u0159eb\u00ed\u010d",
1681  "Trutnov",
1682  u8"Uhersk\u00e9 Hradi\u0161t\u011b",
1683  u8"\u00dast\u00ed nad Labem",
1684  u8"\u00dast\u00ed nad Orlic\u00ed",
1685  u8"Vset\u00edn",
1686  u8"Vy\u0161kov",
1687  u8"\u017d\u010f\u00e1r nad S\u00e1zavou",
1688  u8"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 */ { u8"\u00ed", u8"\u00fd", "X" },
1723  /* CZG_SFEM */ { u8"\u00ed", u8"\u00e1", "a" },
1724  /* CZG_SNEUT */ { u8"\u00ed", u8"\u00e9", "o" },
1725  /* CZG_PMASC */ { u8"\u00ed", u8"\u00e9", "y" },
1726  /* CZG_PFEM */ { u8"\u00ed", u8"\u00e9", "y" },
1727  /* CZG_PNEUT */ { u8"\u00ed", u8"\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, u8"Horn\u00ed" },
1768  { CZP_JARNI, CZC_ANY, u8"Horn\u00ed" },
1769  { CZP_JARNI, CZC_ANY, u8"Doln\u00ed" },
1770  { CZP_JARNI, CZC_ANY, u8"Doln\u00ed" },
1771  { CZP_JARNI, CZC_ANY, u8"P\u0159edn\u00ed" },
1772  { CZP_JARNI, CZC_ANY, u8"Zadn\u00ed" },
1773  { CZP_JARNI, CZC_ANY, u8"Kosteln\u00ed" },
1774  { CZP_JARNI, CZC_ANY, u8"Havran\u00ed" },
1775  { CZP_JARNI, CZC_ANY, u8"\u0158\u00ed\u010dn\u00ed" },
1776  { CZP_JARNI, CZC_ANY, u8"Jezern\u00ed" },
1777  { CZP_MLADY, CZC_ANY, u8"Velk\u00fd" },
1778  { CZP_MLADY, CZC_ANY, u8"Velk\u00fd" },
1779  { CZP_MLADY, CZC_ANY, u8"Mal\u00fd" },
1780  { CZP_MLADY, CZC_ANY, u8"Mal\u00fd" },
1781  { CZP_MLADY, CZC_ANY, u8"Vysok\u00fd" },
1782  { CZP_MLADY, CZC_ANY, u8"\u010cesk\u00fd" },
1783  { CZP_MLADY, CZC_ANY, u8"Moravsk\u00fd" },
1784  { CZP_MLADY, CZC_ANY, u8"Slov\u00e1ck\u00fd" },
1785  { CZP_MLADY, CZC_ANY, u8"Slezsk\u00fd" },
1786  { CZP_MLADY, CZC_ANY, u8"Uhersk\u00fd" },
1787  { CZP_MLADY, CZC_ANY, u8"Star\u00fd" },
1788  { CZP_MLADY, CZC_ANY, u8"Star\u00fd" },
1789  { CZP_MLADY, CZC_ANY, u8"Nov\u00fd" },
1790  { CZP_MLADY, CZC_ANY, u8"Nov\u00fd" },
1791  { CZP_MLADY, CZC_ANY, u8"Mlad\u00fd" },
1792  { CZP_MLADY, CZC_ANY, u8"Kr\u00e1lovsk\u00fd" },
1793  { CZP_MLADY, CZC_ANY, u8"Kamenn\u00fd" },
1794  { CZP_MLADY, CZC_ANY, u8"Cihlov\u00fd" },
1795  { CZP_MLADY, CZC_ANY, u8"Divn\u00fd" },
1796  { CZP_MLADY, CZC_COLOR, u8"\u010cerven\u00e1" },
1797  { CZP_MLADY, CZC_COLOR, u8"\u010cerven\u00e1" },
1798  { CZP_MLADY, CZC_COLOR, u8"\u010cerven\u00e1" },
1799  { CZP_MLADY, CZC_COLOR, u8"Zelen\u00e1" },
1800  { CZP_MLADY, CZC_COLOR, u8"\u017dlut\u00e1" },
1801  { CZP_MLADY, CZC_COLOR, u8"Siv\u00e1" },
1802  { CZP_MLADY, CZC_COLOR, u8"\u0160ed\u00e1" },
1803  { CZP_MLADY, CZC_COLOR, u8"B\u00edl\u00e1" },
1804  { CZP_MLADY, CZC_COLOR, u8"B\u00edl\u00e1" },
1805  { CZP_MLADY, CZC_COLOR, u8"Modr\u00e1" },
1806  { CZP_MLADY, CZC_COLOR, u8"R\u016f\u017eov\u00e1" },
1807  { CZP_MLADY, CZC_COLOR, u8"\u010cern\u00e1" },
1808  { CZP_PRIVL, CZC_ANY, u8"Kr\u00e1lova" },
1809  { CZP_PRIVL, CZC_ANY, "Janova" },
1810  { CZP_PRIVL, CZC_ANY, "Karlova" },
1811  { CZP_PRIVL, CZC_ANY, u8"Kry\u0161tofova" },
1812  { CZP_PRIVL, CZC_ANY, u8"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, u8"\u00daval" },
1823  { CZG_SMASC, CZA_ALL, CZC_COLOR, u8"\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, u8"L\u00edpa" },
1830  { CZG_SNEUT, CZA_ALL, CZC_COLOR, "Pole" },
1831  { CZG_SNEUT, CZA_ALL, CZC_COLOR, u8"\u00dadol\u00ed" },
1832  { CZG_PMASC, CZA_ALL, CZC_NONE, u8"\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, u8"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, u8"Ba\u017e" },
1848  { CZG_NFREE, CZA_MIDDLE, CZC_NONE, "Tes" },
1849  { CZG_NFREE, CZA_MIDDLE, CZC_NONE, u8"U\u017e" },
1850  { CZG_NFREE, CZA_MIDDLE | CZA_LONG, CZC_POSTFIX, u8"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, u8"V\u00edt" },
1857  { CZG_NFREE, CZA_LONG, CZC_NONE, u8"Vy\u0161" },
1858  { CZG_NFREE, CZA_LONG, CZC_NONE, u8"\u017dat" },
1859  { CZG_NFREE, CZA_LONG, CZC_NONE, u8"\u017der" },
1860  { CZG_NFREE, CZA_LONG, CZC_NONE, u8"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, u8"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, u8"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, u8"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, u8"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, u8"\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, u8"\u00edn" },
1897  { CZG_SMASC, CZA_LONG, CZC_POSTFIX, u8"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, u8"n\u00e1" },
1902  { CZG_SFEM, CZA_LONG, CZC_ANY, "ava" },
1903  { CZG_PMASC, CZA_LONG, CZC_POSTFIX, u8"\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, u8"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, u8"i\u0161t\u011b" },
1912 };
1913 
1914 static const char * const _name_czech_suffix[] = {
1915  "nad Cidlinou",
1916  u8"nad Dyj\u00ed",
1917  "nad Jihlavou",
1918  "nad Labem",
1919  "nad Lesy",
1920  "nad Moravou",
1921  "nad Nisou",
1922  "nad Odrou",
1923  u8"nad Ostravic\u00ed",
1924  u8"nad S\u00e1zavou",
1925  "nad Vltavou",
1926  u8"pod Prad\u011bdem",
1927  u8"pod Radho\u0161t\u011bm",
1928  u8"pod \u0158\u00edpem",
1929  u8"pod Sn\u011b\u017ekou",
1930  u8"pod \u0160pi\u010d\u00e1kem",
1931  "pod Sedlem",
1932  u8"v \u010cech\u00e1ch",
1933  u8"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  u8"Bac\u0103u",
1944  "Baia Mare",
1945  u8"B\u0103ile Herculane",
1946  u8"B\u0103ilesti",
1947  u8"B\u00e2rlad",
1948  "Bicaz",
1949  u8"Bistri\u021ba",
1950  "Blaj",
1951  "Borsec",
1952  u8"Boto\u0219ani",
1953  u8"Br\u0103ila",
1954  u8"Bra\u021bov",
1955  u8"Bucure\u0219ti",
1956  "Buftea",
1957  u8"Buz\u0103u",
1958  u8"C\u0103l\u0103rasi",
1959  u8"Caransebe\u0219",
1960  u8"Cernavod\u0103",
1961  "Cluj-Napoca",
1962  u8"Constan\u021ba",
1963  "Covasna",
1964  "Craiova",
1965  "Dej",
1966  "Deva",
1967  "Dorohoi",
1968  "Drobeta-Turnu Severin",
1969  u8"Dr\u0103g\u0103sani",
1970  u8"F\u0103g\u0103ras",
1971  u8"F\u0103lticeni",
1972  u8"Fete\u0219ti",
1973  u8"Foc\u0219ani",
1974  u8"Gala\u0219i",
1975  "Gheorgheni",
1976  "Giurgiu",
1977  u8"H\u00e2r\u0219ova",
1978  "Hunedoara",
1979  u8"Hu\u0219i",
1980  u8"Ia\u0219i",
1981  "Isaccea",
1982  "Lugoj",
1983  u8"M\u0103cin",
1984  "Mangalia",
1985  "Medgidia",
1986  u8"Media\u0219",
1987  "Miercurea Ciuc",
1988  "Mizil",
1989  "Motru",
1990  u8"N\u0103s\u0103ud",
1991  u8"N\u0103vodari",
1992  u8"Odobe\u0219ti",
1993  u8"Olteni\u021ba",
1994  u8"One\u0219ti",
1995  "Oradea",
1996  u8"Or\u0219ova",
1997  u8"Petro\u0219ani",
1998  u8"Piatra Neam\u021b",
1999  u8"Pite\u0219ti",
2000  u8"Ploie\u0219ti",
2001  "Predeal",
2002  u8"R\u00e2mnicu V\u00e2lcea",
2003  "Reghin",
2004  u8"Re\u0219i\u021ba",
2005  "Roman",
2006  u8"Ro\u0219iorii de Vede",
2007  "Satu Mare",
2008  u8"Sebe\u0219",
2009  u8"Sf\u00e2ntu Gheorghe",
2010  "Sibiu",
2011  u8"Sighi\u0219oara",
2012  "Sinaia",
2013  "Slatina",
2014  "Slobozia",
2015  "Sovata",
2016  "Suceava",
2017  "Sulina",
2018  u8"T\u0103nd\u0103rei",
2019  u8"T\u00e2rgoviste",
2020  u8"T\u00e2rgu Jiu",
2021  u8"T\u00e2rgu Mures",
2022  "Tecuci",
2023  u8"Timi\u0219oara",
2024  "Tulcea",
2025  "Turda",
2026  u8"Turnu M\u0103gurele",
2027  "Urziceni",
2028  "Vaslui",
2029  "Vatra Dornei",
2030  "Victoria",
2031  "Videle",
2032  u8"Zal\u0103u",
2033 };
2034 
2035 static const char * const _name_slovak_real[] = {
2036  "Bratislava",
2037  u8"B\u00e1novce nad Bebravou",
2038  u8"Bansk\u00e1 Bystrica",
2039  u8"Bansk\u00e1 \u0160tiavnica",
2040  "Bardejov",
2041  "Brezno",
2042  "Brezova pod Bradlom",
2043  u8"Byt\u010da",
2044  u8"\u010cadca",
2045  u8"\u010cierna nad Tisou",
2046  "Detva",
2047  u8"Pre\u0161ov",
2048  "Dolny Kubin",
2049  u8"Spi\u0161sk\u00e1 Nov\u00e1 Ves",
2050  u8"Dunajsk\u00e1 Streda",
2051  u8"Gab\u010d\u00edikovo",
2052  "Galanta",
2053  "Gbely",
2054  "Gelnica",
2055  u8"Handlov\u00e1",
2056  "Hlohovec",
2057  u8"Hol\u00ed\u010d",
2058  u8"Humenn\u00e9",
2059  "Hurbanovo",
2060  "Kezmarok",
2061  u8"Kom\u00e1rno",
2062  u8"Ko\u0161ice",
2063  "Kremnica",
2064  "Krompachy",
2065  "Kuty",
2066  "Leopoldov",
2067  u8"Levo\u010da",
2068  u8"Liptovsk\u00fd Mikul\u00e1\u0161",
2069  u8"Lu\u010denec",
2070  "Malacky",
2071  "Martin",
2072  "Medzilaborce",
2073  "Michalovce",
2074  "Modra",
2075  "Myjava",
2076  u8"N\u00e1mestovo",
2077  "Nitra",
2078  u8"Nov\u00e1 Ba\u0148a",
2079  u8"Nov\u00e9 Mesto nad V\u00e1hom",
2080  u8"Nov\u00e9 Z\u00e1mky",
2081  u8"Partiz\u00e1nske",
2082  "Pezinok",
2083  u8"Pie\u0161\u0165any",
2084  u8"Polt\u00e1r",
2085  "Poprad",
2086  u8"Pova\u017esk\u00e1 Bystrica",
2087  "Prievidza",
2088  u8"P\u00fachov",
2089  u8"Rev\u00faca",
2090  u8"Rimavsk\u00e1 Sobota",
2091  u8"Ro\u017e\u0148ava",
2092  u8"Ru\u017eomberok",
2093  "Sabinov",
2094  u8"\u0160a\u013ea",
2095  "Senec",
2096  "Senica",
2097  u8"Sere\u010f",
2098  "Skalica",
2099  u8"Sl\u00e1dkovi\u00cdovo",
2100  "Smolenice",
2101  "Snina",
2102  u8"Star\u00e1 \u013dubov\u0148a",
2103  u8"Star\u00e1 Tur\u00e1",
2104  u8"Str\u00e1\u017eske",
2105  "Stropkov",
2106  "Stupava",
2107  u8"\u0160t\u00farovo",
2108  u8"\u0120ulekovo",
2109  u8"Topo\u013e\u010dany",
2110  u8"Trebi\u0161ov",
2111  u8"Tren\u010d\u00edn",
2112  "Trnava",
2113  u8"Tur\u010dianske Teplice",
2114  u8"Tvrdo\u0161\u00edn",
2115  u8"Vr\u00e1ble",
2116  u8"Vranov nad Top\u013eou",
2117  u8"Z\u00e1horsk\u00e1 Bystrica",
2118  u8"\u017ddiar",
2119  u8"\u013diar nad Hronom",
2120  u8"\u017dilina",
2121  u8"Zlat\u00e9 Moravce",
2122  "Zvolen",
2123 };
2124 
2125 static const char * const _name_norwegian_1[] = {
2126  "Arna",
2127  "Aust",
2128  u8"Bj\u00f8rk",
2129  u8"Bj\u00f8rn",
2130  "Brand",
2131  u8"B\u00f8ver",
2132  "Drag",
2133  u8"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  u8"Gl\u00f8s",
2147  "Gran",
2148  "Grind",
2149  "Grims",
2150  u8"Gr\u00f8n",
2151  u8"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  u8"K\u00f8y",
2167  "Lang",
2168  "Lauv",
2169  "Leir",
2170  "Lund",
2171  "Logn",
2172  "Lo",
2173  "Lyng",
2174  u8"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  u8"Sk\u00e5r",
2195  u8"Sl\u00e5tt",
2196  u8"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  u8"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  u8"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  u8"h\u00f8a",
2243  u8"h\u00f8gda",
2244  "kampen",
2245  u8"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  u8"sj\u00f8en",
2261  "skogen",
2262  "slette",
2263  "snipa",
2264  "stad",
2265  "stua",
2266  "stulen",
2267  "sund",
2268  "svingen",
2269  u8"s\u00e6tra",
2270  "tinden",
2271  "tun",
2272  "vang",
2273  "vatn",
2274  "veid",
2275  "vik",
2276  "voll",
2277  u8"v\u00e5g",
2278  "um",
2279  u8"\u00e5sen",
2280 };
2281 
2282 static const char * const _name_norwegian_real[] = {
2283  "Alta",
2284  "Arendal",
2285  "Askim",
2286  "Bergen",
2287  u8"Bod\u00f8",
2288  "Brevik",
2289  "Bryne",
2290  u8"Br\u00f8nn\u00f8ysund",
2291  "Drammen",
2292  u8"Dr\u00f8bak",
2293  "Egersund",
2294  "Elverum",
2295  "Farsund",
2296  "Fauske",
2297  "Finnsnes",
2298  "Flekkefjord",
2299  "Flora",
2300  u8"Fosnav\u00e5g",
2301  "Fredrikstad",
2302  u8"F\u00f8rde",
2303  u8"Gj\u00f8vik",
2304  "Grimstad",
2305  "Halden",
2306  "Hamar",
2307  "Hammerfest",
2308  "Harstad",
2309  "Haugesund",
2310  "Holmestrand",
2311  "Horten",
2312  u8"J\u00f8rpeland",
2313  "Kirkenes",
2314  "Kolvereid",
2315  "Kongsberg",
2316  "Kongsvinger",
2317  "Kopervik",
2318  u8"Krager\u00f8",
2319  "Kristiansand",
2320  "Kristiansund",
2321  "Langesund",
2322  "Larvik",
2323  "Leirvik",
2324  "Leknes",
2325  "Levanger",
2326  "Lillehammer",
2327  "Lillesand",
2328  u8"Lillestr\u00f8m",
2329  "Lyngdal",
2330  u8"L\u00f8renskog",
2331  "Mandal",
2332  "Mo i Rana",
2333  "Molde",
2334  u8"Mosj\u00f8en",
2335  "Moss",
2336  "Mysen",
2337  u8"M\u00e5l\u00f8y",
2338  "Namsos",
2339  "Narvik",
2340  "Notodden",
2341  "Odda",
2342  "Oslo",
2343  "Otta",
2344  "Porsgrunn",
2345  "Ringerike",
2346  u8"Ris\u00f8r",
2347  "Rjukan",
2348  "Sandefjord",
2349  "Sandnes",
2350  u8"Sandnessj\u00f8en",
2351  "Sandvika",
2352  "Sarpsborg",
2353  "Sauda",
2354  "Ski",
2355  "Skien",
2356  "Skudeneshavn",
2357  "Sortland",
2358  "Stathelle",
2359  "Stavanger",
2360  "Steinkjer",
2361  u8"Stj\u00f8rdal",
2362  "Stokmarknes",
2363  "Stord",
2364  "Svelvik",
2365  u8"Svolv\u00e6r",
2366  u8"Troms\u00f8",
2367  "Trondheim",
2368  "Tvedestrand",
2369  u8"T\u00f8nsberg",
2370  "Ulsteinvik",
2371  u8"Vads\u00f8",
2372  u8"Vard\u00f8",
2373  u8"Verdals\u00f8ra",
2374  u8"\u00c5krehamn",
2375  u8"\u00c5lesund",
2376  u8"\u00c5ndalsnes",
2377 };
2378 
2379 static const char * const _name_hungarian_1[] = {
2380  "Nagy-",
2381  "Kis-",
2382  u8"Fels\u0151-",
2383  u8"Als\u00f3-",
2384  u8"\u00daj-",
2385 };
2386 
2387 static const char * const _name_hungarian_2[] = {
2388  "Bodrog",
2389  u8"Dr\u00e1va",
2390  "Duna",
2391  u8"Hej\u0151",
2392  u8"Hern\u00e1d",
2393  u8"R\u00e1ba",
2394  u8"Saj\u00f3",
2395  "Szamos",
2396  "Tisza",
2397  "Zala",
2398  "Balaton",
2399  u8"Fert\u0151",
2400  "Bakony",
2401  u8"Cserh\u00e1t",
2402  "Bihar",
2403  u8"Hajd\u00fa",
2404  u8"J\u00e1sz",
2405  "Kun",
2406  "Magyar",
2407  u8"N\u00f3gr\u00e1d",
2408  u8"Ny\u00edr",
2409  "Somogy",
2410  u8"Sz\u00e9kely",
2411  "Buda",
2412  u8"Gy\u0151r",
2413  "Pest",
2414  u8"Feh\u00e9r",
2415  u8"Cser\u00e9p",
2416  u8"Erd\u0151",
2417  "Hegy",
2418  "Homok",
2419  u8"Mez\u0151",
2420  "Puszta",
2421  u8"S\u00e1r",
2422  u8"Cs\u00e1sz\u00e1r",
2423  "Herceg",
2424  u8"Kir\u00e1ly",
2425  "Nemes",
2426  u8"P\u00fcsp\u00f6k",
2427  "Szent",
2428  u8"Alm\u00e1s",
2429  u8"Szilv\u00e1s",
2430  "Agg",
2431  "Aranyos",
2432  u8"B\u00e9k\u00e9s",
2433  u8"Egyh\u00e1zas",
2434  "Gagy",
2435  "Heves",
2436  "Kapos",
2437  u8"T\u00e1pi\u00f3",
2438  "Torna",
2439  "Vas",
2440  u8"V\u00e1mos",
2441  u8"V\u00e1s\u00e1ros",
2442 };
2443 
2444 static const char * const _name_hungarian_3[] = {
2445  u8"ap\u00e1ti",
2446  u8"b\u00e1ba",
2447  "bikk",
2448  "dob",
2449  "fa",
2450  u8"f\u00f6ld",
2451  "hegyes",
2452  "kak",
2453  "kereszt",
2454  u8"k\u00fcrt",
2455  u8"lad\u00e1ny",
2456  u8"m\u00e9rges",
2457  "szalonta",
2458  "telek",
2459  "vas",
2460  u8"v\u00f6lgy",
2461 };
2462 
2463 static const char * const _name_hungarian_4[] = {
2464  "alja",
2465  u8"egyh\u00e1za",
2466  u8"h\u00e1za",
2467  u8"\u00far",
2468  u8"v\u00e1r",
2469 };
2470 
2471 static const char * const _name_hungarian_real[] = {
2472  "Ajka",
2473  u8"Asz\u00f3d",
2474  "Badacsony",
2475  "Baja",
2476  "Budapest",
2477  "Debrecen",
2478  "Eger",
2479  u8"Fony\u00f3d",
2480  u8"G\u00f6d\u00f6ll\u0151",
2481  u8"Gy\u0151r",
2482  "Gyula",
2483  "Karcag",
2484  u8"Kecskem\u00e9t",
2485  "Keszthely",
2486  u8"Kisk\u00f6re",
2487  "Kocsord",
2488  u8"Kom\u00e1rom",
2489  u8"K\u0151szeg",
2490  u8"Mak\u00f3",
2491  u8"Moh\u00e1cs",
2492  "Miskolc",
2493  u8"\u00d3zd",
2494  "Paks",
2495  u8"P\u00e1pa",
2496  u8"P\u00e9cs",
2497  u8"Polg\u00e1r",
2498  "Sarkad",
2499  u8"Si\u00f3fok",
2500  "Szeged",
2501  "Szentes",
2502  "Szolnok",
2503  "Tihany",
2504  "Tokaj",
2505  u8"V\u00e1c",
2506  u8"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  u8"Altst\u00e4tten",
2518  "Baar",
2519  "Baden",
2520  "Bellinzona",
2521  "Brig-Glis",
2522  "Bienne",
2523  "Bulle",
2524  "Binningen",
2525  "Burgdorf",
2526  "Bern",
2527  "Basel",
2528  u8"B\u00fclach",
2529  "Carouge",
2530  "Cham",
2531  "Chiasso",
2532  "Chur",
2533  "Davos",
2534  u8"Del\u00e9mont",
2535  "Dietikon",
2536  u8"D\u00fcbendorf",
2537  "Emmen",
2538  u8"Freienbach-Pf\u00e4ffikon",
2539  "Fribourg",
2540  "Frauenfeld",
2541  u8"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  u8"K\u00f6niz",
2554  "Kreuzlingen",
2555  u8"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  u8"M\u00fcnchenstein",
2573  "Meyrin",
2574  "Montreux",
2575  "Monthey",
2576  "Morges",
2577  "Murten",
2578  "Moutier",
2579  "Muttenz",
2580  u8"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  u8"St\u00e4fa",
2610  "Sursee",
2611  "Schwyz",
2612  "Thalwil",
2613  u8"Th\u00f4nex",
2614  "Thun",
2615  "Uster",
2616  "Uzwil",
2617  "Vernier",
2618  "Volketswil",
2619  "Versoix",
2620  "Vevey",
2621  u8"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  u8"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  u8"N\u00f8rre ",
2643  "Vester ",
2644  u8"S\u00f8nder ",
2645  u8"\u00d8ster ",
2646  "Hvide ",
2647  u8"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  u8"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  u8"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  u8"H\u00f8j",
2690  u8"H\u00f8r",
2691  "Is",
2692  "Jyde",
2693  u8"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  u8"R\u00f8de",
2706  "Rung",
2707  u8"R\u00f8r",
2708  "Rud",
2709  "Saks",
2710  "Salt",
2711  "Skam",
2712  "Silke",
2713  "Skod",
2714  u8"Sk\u00e6l",
2715  u8"Sk\u00e6r",
2716  "Sol",
2717  "Svend",
2718  "Svine",
2719  "Strand",
2720  "Stubbe",
2721  "Ting",
2722  u8"Tj\u00e6re",
2723  "Tore",
2724  "Uger",
2725  "Ulf",
2726  "Val",
2727  "Vand",
2728  "Vej",
2729  "Vor",
2730  u8"V\u00e6r",
2731  u8"\u00d8r",
2732  u8"\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  u8"k\u00f8bing",
2746  "lund",
2747  "lunde",
2748  "sund",
2749  "ovre",
2750  u8"h\u00f8j",
2751  "dal",
2752  "sted",
2753  "sten",
2754  u8"l\u00f8se",
2755  u8"r\u00f8d",
2756  "magle",
2757  u8"s\u00f8",
2758  "bjerg",
2759  u8"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  u8"Ak\u00e7a",
2770  u8"Alt\u0131n",
2771  u8"Bah\u00e7e",
2772  "Boz",
2773  u8"B\u00fcy\u00fck",
2774  u8"\u00c7ay",
2775  u8"Do\u011fu",
2776  "Eski",
2777  u8"G\u00fczel",
2778  u8"K\u0131z\u0131l",
2779  u8"K\u00fc\u00e7\u00fck",
2780  "Orta",
2781  u8"Sar\u0131",
2782  "Sultan",
2783  "Ulu",
2784  "Yeni",
2785 };
2786 
2787 static const char * const _name_turkish_middle[] = {
2788  u8"aga\u00e7",
2789  "ayva",
2790  u8"\u00e7am",
2791  "elma",
2792  "kurt",
2793  "pazar",
2794  u8"yal\u0131",
2795 };
2796 
2797 static const char * const _name_turkish_suffix[] = {
2798  "dere",
2799  "hisar",
2800  "kale",
2801  "kaya",
2802  "kent",
2803  u8"k\u00f6y",
2804  "ova",
2805  u8"\u00f6z\u00fc",
2806  u8"\u00f6ren",
2807  "pazar",
2808  "saray",
2809  "tepe",
2810  "yer",
2811  "yurt",
2812 };
2813 
2814 static const char * const _name_turkish_real[] = {
2815  "Adana",
2816  u8"Ad\u0131yaman",
2817  "Afyon",
2818  u8"A\u011fr\u0131",
2819  "Amasya",
2820  "Antalya",
2821  "Artvin",
2822  u8"Bal\u0131kesir",
2823  "Bilecik",
2824  "Bitlis",
2825  "Bolu",
2826  "Burdur",
2827  "Bursa",
2828  u8"\u00c7anakkale",
2829  u8"\u00c7ank\u0131r\u0131",
2830  "Denizli",
2831  u8"Diyarbak\u0131r",
2832  "Edirne",
2833  u8"Elaz\u0131\u011f",
2834  "Erzurum",
2835  u8"Eski\u015fehir",
2836  "Giresun",
2837  u8"G\u00fcm\u00fc\u015fhane",
2838  "Hatay",
2839  "Isparta",
2840  u8"\u0130\u00e7el",
2841  u8"\u0130stanbul",
2842  u8"\u0130zmir",
2843  "Kars",
2844  "Kastamonu",
2845  "Kayseri",
2846  "Kirklareli",
2847  "Kocaeli",
2848  "Konya",
2849  u8"K\u00fctahya",
2850  "Malatya",
2851  "Manisa",
2852  u8"Kahramanmara\u015f",
2853  "Mardin",
2854  u8"Mu\u011fla",
2855  u8"Mu\u015f",
2856  u8"Nev\u015fehir",
2857  u8"Ni\u011fde",
2858  "Rize",
2859  "Sakarya",
2860  "Samsun",
2861  "Siirt",
2862  "Sinop",
2863  "Sivas",
2864  "Trabzon",
2865  u8"\u015eanl\u0131urfa",
2866  "Van",
2867  "Yozgat",
2868  "Zonguldak",
2869  "Aksaray",
2870  "Bayburt",
2871  "Karaman",
2872  u8"\u015e\u0131rnak",
2873  u8"Bart\u0131n",
2874  "Ardahan",
2875  u8"I\u011fd\u0131r",
2876  "Yalova",
2877  u8"Karab\u00fck",
2878  "Osmaniye",
2879  u8"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  u8"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  u8"Matar\u00f3",
3188  "Montblanc",
3189  u8"Vilanova i la Geltr\u00fa",
3190  u8"T\u00e0rrega",
3191  "Camprodon",
3192  u8"Campdev\u00e0nol",
3193  "Cambrils",
3194  "Begur",
3195  "Setcases",
3196  "Palafrugell",
3197  "Begues",
3198  "El Bruc",
3199  u8"Cadaqu\u00e9s",
3200  u8"Collbat\u00f3",
3201  u8"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  u8"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  u8"Sant Sadurn\u00ed de ",
3243  "Santa Coloma de ",
3244  "Santa Margarida de ",
3245  "Santa Maria de ",
3246  u8"Sant Mart\u00ed de ",
3247  "Sant Pere de ",
3248  u8"Sant Juli\u00e0 de ",
3249  u8"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  u8"vent\u00f3s",
3279  "negre",
3280  "roig",
3281  u8"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  u8" Desp\u00ed",
3297  " Desvern",
3298  u8" del Cam\u00ed",
3299  " de Mar",
3300  " de Dalt",
3301  " de Baix",
3302  u8" del Vall\u00e8s",
3303  u8" 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  u8" de Francol\u00ed",
3315 };
CzechNameAdj
Definition: townname.h:1759
CzechNameSubst
Definition: townname.h:1752
DECLARE_ENUM_AS_BIT_SET
DECLARE_ENUM_AS_BIT_SET(GenderEthnicity) enum CompanyManagerFaceVariable
Bitgroups of the CompanyManagerFace variable.
Definition: company_manager_face.h:29