1. A computer-implemented input-method editor process comprising: receiving a request from a user of an electronic device for an application-independent input method editor having written and spoken input capabilities, wherein the application-independent input method editor is configured to receive input for a plurality of applications executable by the electronic device; identifying that the user is about to provide spoken input to the application-independent input method editor; receiving a spoken input from the user, wherein the spoken input corresponds to an input to an application from the plurality of applications; generating, with the electronic device, a correlation between the spoken input and the application, from the plurality of applications, to which the spoken input is determined to correspond, wherein generating the correlation comprises (i) determining an application type for the application that identifies a category of application to which the application is assigned, each category of application capable of including a plurality of different applications, and (ii) matching one or more utterances in the spoken input to one or more stored terms that are associated with the application type; providing the spoken input and the generated correlation to a server, wherein the server is remote to the electronic device and includes a speech recognition system configured to access one or more language models for recognizing text based on the spoken input and the correlation; receiving text from the server, wherein the text represents a translation of the spoken input; selecting an application, from the plurality of applications, to receive the text, the selection using the generated correlation; and providing the text as an input to the selected application.