1. A method for translating input relating to a finite domain, the method comprising: receiving said input; and automatically translating said input into an output in a target language, where said output is at least one of: a substantially grammatically correct output and a substantially sociolinguistically appropriate output.