1. A method using one or more computer processors, comprising: providing a first message in a first language to a first transformation module in a sequence of transformation modules, wherein each subsequent transformation module in the sequence accepts, as input, an output of a preceding transformation module in the sequence and provides, as output, a respective transformed message, wherein at least one transformation module in the sequence identifies at least a portion of the output of the at least one transformation module as not to be transformed by subsequent transformation modules in the sequence, and wherein the output of a final transformation module in the sequence comprises a transformed message in the first language; and querying a data store for a translation of the transformed message in a second language.