1. A method, comprising: at a computer system having one or more processors and memory for storing programs to be executed by the one or more processors: receiving a first message from a client device; determining if the first message is in a first language or a second language, the second language being different than the first language; if the first message is in the first language, translating the first message into a second message in the second language; if the first message is in the second language, generating a third message in the second language, the third message including a conversational response to the first message; and returning one of the second message and the third message to the client device, wherein the first message is a speech message, the second message is a speech message, the translating further including: generating, based on the first message, a fourth message using a speech recognition system for the first language, the fourth message being a textual message in the first language and a speech-to-text transform of the first message; translating the fourth message into a fifth message using machine translation, the fifth message being a textual message in the second language; and generating, based on the fifth message, the second message using speech synthesis, the second message being a text-to-speech transform of the fifth message.