11. A computer implemented method comprising: receiving keystroke data for a keyboard input device; determining a current mapping for the keyboard input device that is associated with a language; determining characters based on the keystroke data and the current mapping; comparing the characters to words in a dictionary associated with the language, wherein the dictionary stores words in the language; determining whether the characters identify a word in the language based on the comparison; if the characters are determined to not identify a word in the language: selecting an alternative mapping for the keyboard input device, wherein the alternative mapping is associated with an alternative language; determining alternative characters based on the keystroke data and the alternative mapping; comparing the alternative characters to alternative words in an alternative dictionary associated with the alternative language wherein the alternative dictionary stores words in the alternative language; and identifying one or more alternative words based on the comparison of the alternative characters and the alternative words in the alternative language.
11. A computer implemented method comprising: receiving keystroke data for a keyboard input device; determining a current mapping for the keyboard input device that is associated with a language; determining characters based on the keystroke data and the current mapping; comparing the characters to words in a dictionary associated with the language, wherein the dictionary stores words in the language; determining whether the characters identify a word in the language based on the comparison; if the characters are determined to not identify a word in the language: selecting an alternative mapping for the keyboard input device, wherein the alternative mapping is associated with an alternative language; determining alternative characters based on the keystroke data and the alternative mapping; comparing the alternative characters to alternative words in an alternative dictionary associated with the alternative language wherein the alternative dictionary stores words in the alternative language; and identifying one or more alternative words based on the comparison of the alternative characters and the alternative words in the alternative language. 12. The computer implemented method of claim 11 , wherein determining a current mapping for the keyboard input device comprises retrieving the language from web browser preferences or cookies, an input method editor (IME), an operating system, or the keyboard input device.