1. A method comprising: parsing a first string in a first language into a parse tree including a plurality of leafs, each leaf including a first word in the first language; reordering one or more of the leafs; and translating the first word at each leaf into a second word corresponding to a possible translation in a second language.