1. A method for translating an input relating to a finite domain, the method comprising: receiving from a first individual said input relating to said finite domain; automatically translating said input into an output statement in a target language, where said translating comprises using a processor to select at least one appropriate word form for at least one word in said input based on at least one attribute of a second individual to whom said output statement is directed such that said output statement is substantially sociolinguistically appropriate; outputting said output statement at least once; confirming that said second individual understands said output statement; and re-attempting translation of said input if said second individual does not understand said output statement, wherein said re-attempting comprises modifying a prosody of said output statement, wherein said prosody is modified in a portion of said output statement that is not understood by said second individual.