1. A computer-implemented input-method editor process comprising: receiving, at an electronic device, a request from a user of the 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; receiving a spoken input from the user using the application-independent input method editor, wherein the spoken input corresponds to an input to an application from the plurality of applications; determining a category for the application; providing the spoken input and data that indicates the application category to a server, wherein the server includes a speech recognition system configured to select one or more language models to generate text based on the spoken input, wherein the one or more language models are selected based on the data that indicates the application category; receiving text from the server, wherein the text represents a transcription of the spoken input; and providing the text as the input to the application.