Fix #8316: Make sort industries by production and transported with a cargo filter...
[openttd-github.git] / src / table / townname.h
blob85ac330609d6b659cd16ee87ff864fcae24e2816
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 */
8 /** @file table/townname.h Namepart tables for the town name generator */
10 #include "../core/enum_type.hpp"
12 static const char * const _name_original_english_1[] = {
13 "Great ",
14 "Little ",
15 "New ",
16 "Fort ",
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",
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",
59 static const char * const _name_original_english_4[] = {
60 "n",
61 "ning",
62 "ding",
63 "d",
64 "",
65 "t",
66 "fing",
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",
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",
107 static const char * const _name_additional_english_prefix[] = {
108 "Great ",
109 "Little ",
110 "New ",
111 "Fort ",
112 "St. ",
113 "Old ",
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",
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",
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",
206 static const char * const _name_additional_english_1b3a[] = {
207 "n",
208 "d",
210 "t",
215 static const char * const _name_additional_english_1b3b[] = {
216 "ning",
217 "ding",
218 "fing",
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",
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",
300 static const char * const _name_austrian_a1[] = {
301 "Bad ",
302 "Deutsch ",
303 "Gross ",
304 "Klein ",
305 "Markt ",
306 "Maria ",
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",
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",
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",
388 static const char * const _name_austrian_a5[] = {
389 "St. ",
390 "Sankt ",
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",
416 static const char * const _name_austrian_f1[] = {
417 " an der ",
418 " ob der ",
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",
437 static const char * const _name_austrian_b1[] = {
438 " am ",
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",
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",
478 static const char * const _name_german_pre[] = {
479 "Bad ",
480 "Klein ",
481 "Neu ",
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",
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",
599 static const char * const _name_german_3_an_der[] = {
600 " an der ",
603 static const char * const _name_german_3_am[] = {
604 " am ",
607 static const char * const _name_german_4_an_der[] = {
608 "Oder",
609 "Spree",
610 "Donau",
611 "Saale",
612 "Elbe",
615 static const char * const _name_german_4_am[] = {
616 "Main",
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",
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",
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",
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",
890 static const char * const _name_swedish_1[] = {
891 "Gamla ",
892 "Lilla ",
893 "Nya ",
894 "Stora ",
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",
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",
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",
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",
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",
1059 static const char * const _name_dutch_1[] = {
1060 "Nieuw ",
1061 "Oud ",
1062 "Groot ",
1063 "Zuid ",
1064 "Noord ",
1065 "Oost ",
1066 "West ",
1067 "Klein ",
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",
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",
1149 static const char * const _name_dutch_4[] = {
1150 "e",
1151 "er",
1152 "el",
1153 "en",
1154 "o",
1155 "s",
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",
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",
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",
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",
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",
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 ",
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 ",
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 ",
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 u8"Golub-Dobrzy\u0144",
1390 "Chojnice",
1391 "Ostrowiec",
1392 "Otwock",
1393 "Wolsztyn",
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",
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",
1478 static const char * const _name_polish_2_n[] = {
1479 "Lipsko",
1480 "Pilzno",
1481 "Przodkowo",
1482 "Strzelno",
1483 "Leszno",
1484 "Jaworzno",
1485 "Choszczno",
1486 "Mogilno",
1487 "Luzino",
1488 "Miasto",
1489 "Dziadowo",
1490 "Kowalewo",
1491 "Legionowo",
1492 "Miastko",
1493 "Zabrze",
1494 "Zawiercie",
1495 "Kochanowo",
1496 "Miechucino",
1497 "Mirachowo",
1498 "Robakowo",
1499 "Kosakowo",
1500 "Borne",
1501 "Braniewo",
1502 "Sulinowo",
1503 "Chmielno",
1504 u8"Jastrz\u0119bie",
1505 "Gryfino",
1506 "Koronowo",
1507 "Lubichowo",
1508 "Opoczno",
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",
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",
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",
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",
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. */
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
1712 enum CzechPattern {
1713 CZP_JARNI,
1714 CZP_MLADY,
1715 CZP_PRIVL
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" }
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
1739 DECLARE_ENUM_AS_BIT_SET(CzechAllow)
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
1750 DECLARE_ENUM_AS_BIT_SET(CzechChoose)
1752 struct CzechNameSubst {
1753 CzechGender gender;
1754 CzechAllow allow;
1755 CzechChoose choose;
1756 const char *name;
1759 struct CzechNameAdj {
1760 CzechPattern pattern;
1761 CzechChoose choose;
1762 const char *name;
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" },
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" },
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" },
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",
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" },
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",
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",
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",
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",
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",
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",
2379 static const char * const _name_hungarian_1[] = {
2380 "Nagy-",
2381 "Kis-",
2382 u8"Fels\u0151-",
2383 u8"Als\u00f3-",
2384 u8"\u00daj-",
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",
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",
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",
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",
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",
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 ",
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",
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",
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",
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",
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",
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",
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",
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 ",
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",
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",
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",
3062 static const char * const _name_italian_2i[] = {
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",
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",
3113 static const char * const _name_italian_river1[] = {
3114 " del",
3115 " sul",
3116 " al",
3117 " nel",
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",
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",
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 ",
3253 static const char * const _name_catalan_1m[] = {
3254 "Torrent",
3255 "Cami",
3256 "Mont",
3257 "Bell",
3258 "Puig",
3259 "Riu",
3262 static const char * const _name_catalan_1f[] = {
3263 "Pala",
3264 "Selva",
3265 "Vall",
3266 "Serra",
3267 "Torre",
3268 "Riba",
3269 "Cova",
3270 "Terra",
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",
3284 static const char * const _name_catalan_2f[] = {
3285 "baixa",
3286 "alta",
3287 "fosca",
3288 "clara",
3289 "negra",
3290 "roja",
3291 "grisa",
3292 "freda",
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",
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",