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