1. A computer-implemented method of translating text from a source language to a target language comprising the steps of: (a) detecting a source language on a first communication device; (b) detecting a location of the first communication device; (c) determining the target language based upon the detected location of the first communication device; (d) receiving an input for translation from the first communication device; (e) displaying a list of popular source phrases that are similar to the received input on the first communication device; (f) translating a user selected similar popular source phrase if the user selects the similar popular source phrase, else translating the input by means of a machine translation engine; and (g) displaying the translation output of the user selected similar popular source phrase if the user selected the similar popular source phrase, else determining if the translation output from the machine translation engine has been approved by a human translator, submitting the translation output from the machine translation engine to a human translator and displaying the translation output from the machine translation engine together with a measure of the accuracy of the translation output from the machine translation engine.