1. A computer implemented method comprising: receiving a document that is based on a markup language, the document including language identifiers that are arranged based on the markup language; presenting a plurality of data entry fields based on the document, the data entry fields being associated with the language identifiers, respectively; receiving user input selecting a data entry field from among the plurality of data entry fields; detecting a language identifier associated with the selected data entry field, wherein detecting the language identifier comprises accessing a tag included in the document, the language identifier identifying a language associated with the selected data entry field; determining a key mapping corresponding to the language identified by the detected language identifier; configuring a virtual input device in accordance with the key mapping, wherein the virtual input device includes one or more controls, and wherein the key mapping specifies a character corresponding to at least one of the one or more controls; and presenting the virtual input device to a user.