/* Do not remove the headers from this file! see /USAGE for more info. */ /* ** All this does is store preposition translations. ** Call PREPOSTIONS_D->translate_preposition(prep) to get your translation. */ mapping oneword_preps = ([ "aboard" : "on", "above" : "on", "against" : "near", "alongside" : "near", "below" : "under", "beneath" : "under", "beside" : "near", "besides" : "near", "by" : "near", "inside" : "in", "into" : "in", "onto" : "on", "outside" : "out", "through" : "in", "underneath" : "under", "upon" : "on", "within" : "in", "without" : "out" ]); // 2 word prepositions mapping twoword_preps = ([ "alongside of" : "near", "back of" : "near", "down from" : "down", // The following 2 are likely 3 word compound preposition suffixes // "from under" : "out", // "from off" : "off", "inside of" : "in", "round about" : "near", "near to" : "near", "next to" : "near", "off of" : "off", "over to" : "over", "outside of" : "out", "out of" : "out", "out from" : "out", "up to" : "up" ]); mapping threeword_preps = ([ // 3 word prepositions "in front of" : "before", "in back of" : "behind", "on top of" : "on" ]); mapping preposition_mappings() { return oneword_preps + twoword_preps + threeword_preps; } array consolidated_preps() { return clean_array(values(oneword_preps) + values(twoword_preps) + values(threeword_preps)); } string translate_preposition(string prep) { if (oneword_preps[prep]) return oneword_preps[prep]; if (twoword_preps[prep]) return twoword_preps[prep]; if (threeword_preps[prep]) return threeword_preps[prep]; return prep; }