17. The computer program product of claim 16 , wherein the instructions are adapted to cause the computer to further perform steps comprising: monitoring for a user input generated at a user input device, wherein the user input comprises an outgoing electronic communication; responsive to receiving the user input, determining whether an outgoing language of the outgoing message differs from an incoming language, wherein the outgoing language for the outgoing electronic communication is determined using the language modeling algorithm; responsive to a determination that the outgoing language differs from the incoming language, transmitting, by the processor, the outgoing electronic communication to a translation service computer for translation of the outgoing electronic communication into the incoming language using the translation service to form a translated outgoing electronic communication; receiving, by the processor, the translated outgoing electronic communication from the translation service computer; and transmitting the translated outgoing electronic communication to a recipient computer in the session.
18. The computer program product of claim 17 , wherein the instructions are adapted to cause the computer to further perform steps comprising: retrieving a spell check dictionary from the translation service computer based on the user input language; and performing a spell check on the user input using the spell check dictionary.