Files
magic-set-editor-fork/data/magic.mse-game/language
GenevensiS 8c617b5936 Statistics Update (#12)
* Adding GenevensiS's stats page overhaul
* Update card_fields: automated stats are now disabled
* Update set_fields: added customization fields for stats
* Stats have new icons
* Updated position hint and card shape for several frames
* Added preliminary localization updates
* Added detect_custom_subtypes_statistic

---------

Co-authored-by: cajun <kajunkittyavenger@gmail.com>
2023-11-10 07:21:14 -06:00

843 lines
19 KiB
Plaintext

############# Localization Hub
############# Strings and Word Lists specific to supported languages
languages := [
English: [
code : "en",
spellcheck_code : "en_US",
fallback : "English",
pt_separator : "/",
type_separator : " — ",
subtype_separator : " ",
is_battle : match@(match: "(?i)Battle")
is_creature : match@(match: "(?i)Creature")
is_dungeon : match@(match: "(?i)Dungeon")
is_tribal : match@(match: "(?i)Tribal|Kindred")
is_kindred : match@(match: "(?i)Tribal|Kindred")
is_artifact : match@(match: "(?i)Artifact")
is_land : match@(match: "(?i)Land")
is_enchantment : match@(match: "(?i)Enchantment")
is_spell : match@(match: "(?i)Instant|Sorcery")
is_instant : match@(match: "(?i)Instant")
is_sorcery : match@(match: "(?i)Sorcery")
is_planeswalker : match@(match: "(?i)Planeswalker")
is_plane : match@(match: "(?i)Plane(?!swalker)")
is_nonstandard : match@(match: "(?i)(Token|Emblem|Dungeon|Hero|Conspiracy|Vanguard|Scheme|Phenomenon|Plane\\b)")
is_token : match@(match: "(?i)Token")
is_basic : match@(match: "(?i)Basic")
is_conspiracy : match@(match: "(?i)Conspiracy")
is_emblem : match@(match: "(?i)Emblem")
is_hero : match@(match: "(?i)Hero")
is_phenomenon : match@(match: "(?i)Phenomenon")
is_scheme : match@(match: "(?i)Scheme")
is_vanguard : match@(match: "(?i)Vanguard")
is_legendary : match@(match: "(?i)Legendary")
is_snow : match@(match: "(?i)Snow")
is_vehicle : match@(match: "(?i)Vehicle")
is_elite : match@(match: "(?i)Elite")
is_host : match@(match: "(?i)Host")
is_ongoing : match@(match: "(?i)Ongoing")
is_world : match@(match: "(?i)World")
is_plains : match@(match: "(?i)Plains")
is_island : match@(match: "(?i)Island")
is_swamp : match@(match: "(?i)Swamp")
is_mountain : match@(match: "(?i)Mountain")
is_forest : match@(match: "(?i)Forest")
is_wastes : match@(match: "(?i)Wastes")
get_supertypes : filter_text@(match: "(?i)(Legendary|Basic|Snow|Token|World|Ongoing|Elite|Host)\\b ?")
remove_supertypes : replace_text@(match: "(?i)(Legendary|Basic|Snow|Token|World|Ongoing|Elite|Host)\\b ?", replace:"")
base_supertypes : "Legendary|Basic|Snow|Token|World|Ongoing|Elite|Host"
mana_symbol_production : filter_text@(match:"<sym[^>]*>[^<]+<\\/sym[^>]*>", in_context:"\\b[Aa]dd [^(\n|^).]*<match>")
gold_mana_production : filter_text@(match:"(any( one)?|different|combination of) color", in_context:"\\b[Aa]dd [^(\n|^).]*<match>")
chosen_mana_production : filter_text@(match:"that color|chosen color", in_context:"\\b[Aa]dd [^(\n|^).]*<match>")
word_list : "word_list",
word_list_artifact:
"Attraction,"
+ "Blood,"
+ "Clue,"
+ "Contraption,"
+ "Equipment,"
+ "Food,"
+ "Fortification,"
+ "Gold,"
+ "Incubator,"
+ "Junk,"
+ "Map,"
+ "Powerstone,"
+ "Treasure,"
+ "Vehicle"
word_list_battle: "Siege"
word_list_dungeon: "Undercity"
word_list_land:
"Cave,"
+ "Desert,"
+ "Gate,"
+ "Lair,"
+ "Locus,"
+ "Mine,"
+ "Power-Plant,"
+ "Sphere,"
+ "Tower,"
+ "Urza's"
word_list_enchantment:
"Aura,"
+ "Background,"
+ "Cartouche,"
+ "Class,"
+ "Curse,"
+ "Role,"
+ "Rune,"
+ "Saga,"
+ "Shard,"
+ "Shrine"
word_list_spell:
"Adventure,"
+ "Arcane,"
+ "Lesson,"
+ "Trap"
word_list_planeswalker:
"Ajani,"
+ "Aminatou,"
+ "Angrath,"
+ "Arlinn,"
+ "Ashiok,"
+ "Bahamut,"
+ "Basri,"
+ "Bolas,"
+ "Calix,"
+ "Chandra,"
+ "Comet,"
+ "Dack,"
+ "Dakkon,"
+ "Daretti,"
+ "Davriel,"
+ "Dihada,"
+ "Domri,"
+ "Dovin,"
+ "Ellywick,"
+ "Elminister,"
+ "Elspeth,"
+ "Estrid,"
+ "Freyalise,"
+ "Garruk,"
+ "Gideon,"
+ "Grist,"
+ "Guff,"
+ "Huatli,"
+ "Jace,"
+ "Jared,"
+ "Jaya,"
+ "Jeska,"
+ "Kaito,"
+ "Karn,"
+ "Kasmina,"
+ "Kaya,"
+ "Kiora,"
+ "Koth,"
+ "Liliana,"
+ "Lolth,"
+ "Lukka,"
+ "Minsc,"
+ "Mordenkainen,"
+ "Nahiri,"
+ "Narset,"
+ "Niko,"
+ "Nissa,"
+ "Nixilis,"
+ "Oko,"
+ "Quintorius,"
+ "Ral,"
+ "Rowan,"
+ "Saheeli,"
+ "Samut,"
+ "Sarkhan,"
+ "Serra,"
+ "Sivitri,"
+ "Sorin,"
+ "Szat,"
+ "Tamiyo,"
+ "Tasha,"
+ "Teferi,"
+ "Teyo,"
+ "Tezzeret,"
+ "Tibalt,"
+ "Tyvar,"
+ "Ugin,"
+ "Urza,"
+ "Venser,"
+ "Vivien,"
+ "Vraska,"
+ "Vronos,"
+ "Will,"
+ "Windgrace,"
+ "Wrenn,"
+ "Xenagos,"
+ "Yanggu,"
+ "Yanling,"
+ "Zariel"
############# Very Long Word Lists
############# Split into array of strings for submenus
############# Used directly by the localized word_lists
############# Combined for the upgraded stats page
word_lists_basic: ["Plains", "Island", "Swamp", "Mountain", "Forest"]
word_lists_race: [
"Aetherborn,"
+ "Alien,"
+ "Angel,"
+ "Antelope,"
+ "Ape,"
+ "Archon,"
+ "Assembly-Worker,"
+ "Astartes,"
+ "Atog,"
+ "Aurochs,"
+ "Avatar,"
+ "Azra",
"Badger,"
+ "Balloon,"
+ "Basilisk,"
+ "Bat,"
+ "Bear,"
+ "Beast,"
+ "Beeble,"
+ "Beholder,"
+ "Bird,"
+ "Blinkmoth,"
+ "Boar,"
+ "Bringer,"
+ "Brushwagg",
"C'tan,"
+ "Camarid,"
+ "Camel,"
+ "Capybara,"
+ "Caribou,"
+ "Carrier,"
+ "Cat,"
+ "Centaur,"
+ "Cephalid,"
+ "Chimera,"
+ "Cockatrice,"
+ "Construct,"
+ "Crab,"
+ "Crocodile,"
+ "Custodes,"
+ "Cyberman,"
+ "Cyclops",
"Dalek,"
+ "Dauthi,"
+ "Demigod,"
+ "Demon,"
+ "Devil,"
+ "Dinosaur,"
+ "Djinn,"
+ "Dog,"
+ "Dragon,"
+ "Drake,"
+ "Dreadnought,"
+ "Drone,"
+ "Dryad,"
+ "Dwarf",
"Efreet,"
+ "Egg,"
+ "Eldrazi,"
+ "Elemental,"
+ "Elephant,"
+ "Elf,"
+ "Elk,"
+ "Eye",
"Faerie,"
+ "Ferret,"
+ "Fish,"
+ "Fox,"
+ "Fractal,"
+ "Frog,"
+ "Fungus",
"Gargoyle,"
+ "Germ,"
+ "Giant,"
+ "Gith,"
+ "Gnoll,"
+ "Gnome,"
+ "Goat,"
+ "Goblin,"
+ "God,"
+ "Golem,"
+ "Gorgon,"
+ "Graveborn,"
+ "Gremlin,"
+ "Griffin",
"Hag,"
+ "Halfling,"
+ "Hamster,"
+ "Harpy,"
+ "Hellion,"
+ "Hippo,"
+ "Hippogriff,"
+ "Homarid,"
+ "Homunculus,"
+ "Horror,"
+ "Horse,"
+ "Hound,"
+ "Human,"
+ "Hydra,"
+ "Hyena",
"Illusion,"
+ "Imp,"
+ "Incarnation,"
+ "Inkling,"
+ "Insect",
"Jackal,"
+ "Jellyfish,"
+ "Juggernaut",
"Kavu,"
+ "Kirin,"
+ "Kithkin,"
+ "Kobold,"
+ "Kor,"
+ "Kraken",
"Lamia,"
+ "Lammasu,"
+ "Leech,"
+ "Leviathan,"
+ "Lhurgoyf,"
+ "Licid,"
+ "Lizard,"
+ "Llama",
"Manticore,"
+ "Masticore,"
+ "Merfolk,"
+ "Metathran,"
+ "Minotaur,"
+ "Mite,"
+ "Mole,"
+ "Mongoose,"
+ "Monkey,"
+ "Moonfolk,"
+ "Mouse,"
+ "Mutant,"
+ "Myr",
"Nautilus,"
+ "Necron,"
+ "Nephilim,"
+ "Nightmare,"
+ "Nightstalker,"
+ "Noggle,"
+ "Nymph",
"Octopus,"
+ "Ogre,"
+ "Ooze,"
+ "Orb,"
+ "Orc,"
+ "Orgg,"
+ "Otter,"
+ "Ouphe,"
+ "Ox,"
+ "Oyster",
"Pangolin,"
+ "Pegasus,"
+ "Pentavite,"
+ "Pest,"
+ "Phelddagrif,"
+ "Phoenix,"
+ "Phyrexian,"
+ "Pincher,"
+ "Plant,"
+ "Prism",
"Rabbit,"
+ "Raccoon,"
+ "Rat,"
+ "Reflection,"
+ "Rhino,"
+ "Robot",
"Sable,"
+ "Salamander,"
+ "Sand,"
+ "Saproling,"
+ "Satyr,"
+ "Scarecrow,"
+ "Scorpion,"
+ "Sculpture,"
+ "Serpent,"
+ "Servo,"
+ "Shade,"
+ "Shapeshifter,"
+ "Shark,"
+ "Sheep,"
+ "Siren,"
+ "Skeleton,"
+ "Slith,"
+ "Sliver,"
+ "Slug",
"Snail,"
+ "Snake,"
+ "Soltari,"
+ "Spawn,"
+ "Specter,"
+ "Sphinx,"
+ "Spider,"
+ "Spike,"
+ "Spirit,"
+ "Splinter,"
+ "Sponge,"
+ "Squid,"
+ "Squirrel,"
+ "Starfish,"
+ "Surrakar",
"Tentacle,"
+ "Tetravite,"
+ "Thalakos,"
+ "Thopter,"
+ "Thrull,"
+ "Tiefling,"
+ "Time Lord,"
+ "Treefolk,"
+ "Trilobite,"
+ "Triskelavite,"
+ "Troll,"
+ "Turtle,"
+ "Tyranid",
"Unicorn",
"Vampire,"
+ "Vedalken,"
+ "Viashino,"
+ "Volver",
"Wall,"
+ "Walrus,"
+ "Weird,"
+ "Werewolf,"
+ "Whale,"
+ "Wolf,"
+ "Wolverine,"
+ "Wombat,"
+ "Worm,"
+ "Wraith,"
+ "Wurm",
"Yeti",
"Zombie,"
+ "Zubera"
]
word_lists_class: [
"Advisor,"
+ "Ally,"
+ "Archer,"
+ "Archon,"
+ "Army,"
+ "Artificer,"
+ "Assassin,"
+ "Barbarian,"
+ "Bard,"
+ "Beast,"
+ "Berserker,"
+ "Carrier,"
+ "Child,"
+ "Citizen,"
+ "Cleric,"
+ "Clown,"
+ "Coward",
"Deserter,"
+ "Detective,"
+ "Doctor,"
+ "Dreadnought,"
+ "Drone,"
+ "Druid,"
+ "Egg,"
+ "Elder,"
+ "Employee,"
+ "Flagbearer,"
+ "Gamer,"
+ "Guest,"
+ "Horror,"
+ "Incarnation,"
+ "Inquisitor,"
+ "Juggernaut,"
+ "Knight",
"Leviathan,"
+ "Mercenary,"
+ "Minion,"
+ "Monger,"
+ "Monk,"
+ "Mutant,"
+ "Mystic,"
+ "Ninja,"
+ "Noble,"
+ "Nomad,"
+ "Peasant,"
+ "Performer,"
+ "Pilot,"
+ "Pirate,"
+ "Praetor,"
+ "Primarch,"
+ "Processor",
"Ranger,"
+ "Rebel,"
+ "Reflection,"
+ "Rigger,"
+ "Rogue,"
+ "Samurai,"
+ "Scientist,"
+ "Scion,"
+ "Scout,"
+ "Serf,"
+ "Shaman,"
+ "Skeleton,"
+ "Soldier,"
+ "Spawn,"
+ "Spellshaper,"
+ "Spirit,"
+ "Survivor",
"Thopter,"
+ "Vampire,"
+ "Warlock,"
+ "Warrior,"
+ "Werewolf,"
+ "Wizard,"
+ "Zombie"
]
word_lists_plane: [
"Alara,"
+ "Amonkhet,"
+ "Arcavios,"
+ "Bloomburrow,"
+ "Capenna,"
+ "Dominaria,"
+ "Duskmourn,"
+ "Eldraine,"
+ "Ikoria,"
+ "Innistrad,"
+ "Ixalan,"
+ "Kaladesh,"
+ "Kaldheim,"
+ "Kamigawa,"
+ "Lorwyn,"
+ "Mercadia,"
+ "Mirrodin,"
+ "New Phyrexia,"
+ "Rath,"
+ "Ravnica,"
+ "Shadowmoor,"
+ "Tarkir,"
+ "Theros,"
+ "Thunder Junction,"
+ "Ulgrotha,"
+ "Zendikar",
"The Abyss,"
+ "Antausia,"
+ "Arkhos,"
+ "Azgol,"
+ "Belenon,"
+ "Bolas's Meditation Realm,"
+ "Cridhe,"
+ "Echoir,"
+ "Equilor,"
+ "Ergamon,"
+ "Fabacin,"
+ "Fiora,"
+ "Gargantikar,"
+ "Gobakhan,"
+ "Iquatana,"
+ "Ir,"
+ "Karsus,"
+ "Kephalai,"
+ "Kinshala,"
+ "Kolbahan,"
+ "Kylem,"
+ "Kyneth,"
+ "Luvion,"
+ "Moag,"
+ "Mongseng,"
+ "Muraganda,"
+ "Phyrexia,"
+ "Pyrulea,"
+ "Rabiah,"
+ "Regatha,"
+ "Segovia,"
+ "Serra's Realm,"
+ "Shandalar,"
+ "Shenmeng,"
+ "Valla,"
+ "Vryn,"
+ "Wildfire,"
+ "Xerex,"
+ "Zhalfir",
"Alkabah,"
+ "Aranzhur,"
+ "Diraden,"
+ "Kodisha,"
+ "Metal Island,"
+ "Skalla,"
+ "Tavelia,"
+ "Tolvada",
"Azoria,"
+ "Cabralin,"
+ "Celesta,"
+ "Gastal,"
+ "Ilcae,"
+ "Mirrankkar,"
+ "Nether Void,"
+ "Obsidias,"
+ "Torwynn,"
+ "Vatraquaz",
"Alfava Metraxis,"
+ "Androzani Minor,"
+ "Apalapucia,"
+ "The Dalek Asylum,"
+ "Darillium,"
+ "Earth,"
+ "Gallifrey,"
+ "Horsehead Nebula,"
+ "Kandoka,"
+ "The Library,"
+ "Mars,"
+ "Moon,"
+ "Necros,"
+ "New Earth,"
+ "Outside Mutter's Spiral,"
+ "Skaro,"
+ "Spacecraft,"
+ "Time,"
+ "Trenzalore,"
+ "Unknown Planet"
]
],
"English (British)": [
code : "en",
spellcheck_code : "en_GB",
fallback : "English",
pt_separator : "/",
type_separator : " — ",
subtype_separator : " ",
is_creature : match@(match: "(?i)Creature")
is_tribal : match@(match: "(?i)Tribal")
is_artifact : match@(match: "(?i)Artifact")
is_land : match@(match: "(?i)Land")
is_enchantment : match@(match: "(?i)Enchantment")
is_spell : match@(match: "(?i)Instant|Sorcery")
is_planeswalkish : match@(match: "(?i)Planeswalker|Emblem")
is_plane : match@(match: "(?i)Plane(?!swalker)")
word_list : "word_list"
],
"English (Canadian)": [
code : "en",
spellcheck_code : "en_CA",
fallback : "English",
pt_separator : "/",
type_separator : " — ",
subtype_separator : " ",
is_creature : match@(match: "(?i)Creature")
is_tribal : match@(match: "(?i)Tribal")
is_artifact : match@(match: "(?i)Artifact")
is_land : match@(match: "(?i)Land")
is_enchantment : match@(match: "(?i)Enchantment")
is_spell : match@(match: "(?i)Instant|Sorcery")
is_planeswalkish : match@(match: "(?i)Planeswalker|Emblem")
is_plane : match@(match: "(?i)Plane(?!swalker)")
word_list : "word_list"
],
Russian: [
code : "ru",
spellcheck_code : "ru_RU",
fallback : "English",
pt_separator : "/",
type_separator : " — ",
subtype_separator : " ",
is_creature : match@(match: "(?i)Существо")
is_tribal : match@(match: "(?i)Племенное")
is_artifact : match@(match: "(?i)Артефакт")
is_land : match@(match: "(?i)Земля")
is_enchantment : match@(match: "(?i)Чары")
is_spell : match@(match: "(?i)Мгновенное заклинание|Волшебство")
is_planeswalkish : match@(match: "(?i)Planeswalker|Emblem")
is_plane : match@(match: "(?i)Plane(?!swalker)")
word_list : "word_list_ru"
],
Italiano: [
code : "it",
spellcheck_code : "it_IT",
fallback : "English",
pt_separator : "/",
type_separator : " — ",
subtype_separator : " ",
is_creature : match@(match: "(?i)Creatura")
is_tribal : match@(match: "(?i)Tribale")
is_artifact : match@(match: "(?i)Artefatto")
is_land : match@(match: "(?i)Terra")
is_enchantment : match@(match: "(?i)Incantesimo")
is_spell : match@(match: "(?i)Istantaneo|Stregoneria")
is_planeswalkish : match@(match: "(?i)Planeswalker|Emblem")
is_plane : match@(match: "(?i)Plane(?!swalker)")
word_list : "word_list_it"
],
"Português do Brasil" : [
code : "pt-br",
spellcheck_code : "pt_BR",
fallback : "English",
pt_separator : "/",
type_separator : " — ",
subtype_separator : " ",
is_creature : match@(match: "(?i)Criatura")
is_tribal : match@(match: "(?i)Tribal")
is_artifact : match@(match: "(?i)Artefato")
is_land : match@(match: "(?i)Terreno")
is_enchantment : match@(match: "(?i)Encantamento")
is_spell : match@(match: "(?i)Mágica Instantânea|Feitiço")
is_planeswalkish : match@(match: "(?i)Planeswalker|Emblem")
is_plane : match@(match: "(?i)Plane(?!swalker)")
word_list : "word_list_pt"
],
Français: [
code : "fr",
spellcheck_code : "fr_FR",
fallback : "English",
pt_separator : "/",
type_separator : " : "
subtype_separator : "<atom-sep> et </atom-sep>",
is_creature : match@(match: "(?i)Creature|Créature")
is_tribal : match@(match: "(?i)tribal")
is_artifact : match@(match: "(?i)Artefact")
is_land : match@(match: "(?i)Terrain")
is_enchantment : match@(match: "(?i)Enchantement")
is_spell : match@(match: "(?i)Éphémère|Rituel")
is_planeswalkish : match@(match: "(?i)Planeswalker")
is_plane : match@(match: "(?i)Plane(?!swalker)")
word_list : "word_list",
word_lists_basic: ["Plaine", "Île", "Marais", "Montagne", "Forêt"]
word_list_artifact:
"Attraction,"
+ "Sang,"
+ "Indice,"
+ "Appareil,"
+ "Équipement,"
+ "Nourriture,"
+ "Fortification,"
+ "Or,"
+ "Incubateur,"
+ "Lithoforce,"
+ "Trésor,"
+ "Véhicule"
word_list_land:
"Grotte,"
+ "Désert,"
+ "Porte,"
+ "Repaire,"
+ "Site,"
+ "Mine,"
+ "Centrale énergétique,"
+ "Sphère,"
+ "Tour,"
+ "D'urza"
]
]
# The selected language
language := { languages[set.card_language] or else languages.English }
# The language's name
lang_name := {
if languages[set.card_language].code or else false != false then
set.card_language
else "English"
}
# Get a setting from a language, or use a fallback
lang_setting := {
language()[input] or else languages[language().fallback][input] or else languages.English[input] or else ""
}
# language scripts
spanish_number := {
input := remove_tags(input)
espanol_ones_array := ["cero", "uno", "dos", "tres", "cuatro", "cinco", "seis", "siete", "ocho", "nueve", "diez", "once", "doce", "trece", "catorce", "quince"]
espanol_tens_array := ["cero", "diec", "viente", "treinta", "cuarenta", "cincuenta", "sesenta", "setenta", "ochenta", "noventa"]
function_map := [
small: {espanol_ones_array[input]},
large: {
ones := input mod 10
tens := (input - ones) / 10
final_answer := espanol_tens_array[tens] + " y " + espanol_ones_array[ones]
final_answer := replace(final_answer, match:" y cero", replace:"") ##remove redundant "and zero"
final_answer := replace(final_answer, match:"(diec|vient)e? y ", replace:"\\1i") ##16-29 are one word
final_answer
},
oversized: {input}
]
if input == "number" then ""
else if input < 16 then function_map["small"]()
else if input < 100 then function_map["large"]()
else function_map["oversized"]()
}
portuguese_number := {
input := remove_tags(input)
portugues_ones_array := ["zero", "um", "dois", "três", "quatro", "cinco", "seis", "sete", "oito", "nove", "dez", "onze", "doze", "treze", "catorze", "quinze", "dezesseis", "dezessete", "dezoito", "dezenove"]
portugues_tens_array := ["zero", "deze", "vinte", "trinta", "quarenta", "cinquenta", "sessenta", "setenta", "oitenta", "noventa"]
function_map := [
small: {portugues_ones_array[input]},
large: {
ones := input mod 10
tens := (input - ones) / 10
final_answer := portugues_tens_array[tens] + " e " + portugues_ones_array[ones]
final_answer := replace(final_answer, match:" e zero", replace:"") ##remove redundant "and zero"
final_answer
},
oversized: {input}
]
if input == "number" then ""
else if input < 20 then function_map["small"]()
else if input < 100 then function_map["large"]()
else function_map["oversized"]()
}
french_number := {
input := remove_tags(input)
francais_ones_array := ["zéro", "un", "deux", "trois", "quatre", "cinq", "six", "sept", "huit", "nuef", "dix", "onze", "douze", "treize", "quatorze", "quinze", "seize","dix-sept","dix-huit","dix-neuf"]
francais_tens_array := ["zéro", "dix", "vingt", "trente", "quarante", "cinquante", "soixante", "soixante-dix", "quatre-vingts", "quatre-vingt-dix"]
function_map := [
small: {francais_ones_array[input]},
large: {
ones := input mod 10
tens := (input - ones) / 10
final_answer := francais_tens_array[tens] + "-" + francais_ones_array[ones]
final_answer := replace(final_answer, match:"-zéro", replace:"") ##remove redundant "and zero"
final_answer := replace(final_answer, match:"-un", replace:" et un") ##21, 31 et al. use "et un"
final_answer
},
oversized: {input}
]
if input == "number" then ""
else if input < 20 then function_map["small"]()
else if input < 100 then function_map["large"]()
else function_map["oversized"]()
}