1. A computer implemented method comprising: receiving keystroke data from a keyboard input device; determining a current mapping for the keyboard input device in response to a language for the keyboard input device; identifying characters responsive to the keystroke data and the current mapping; comparing the characters to words in a dictionary associated with the current mapping, wherein the dictionary stores words in the language; determining whether the characters identify a word in the language based on the comparison; if a word in the language is identified by the characters, accepting the characters as input; and if no word in the language is identified by the characters: 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 mapping, wherein the alternative dictionary stores words in the alternative language; and determining that the alternative mapping is valid if the alternative characters match an alternative word in the alternative dictionary.
1. A computer implemented method comprising: receiving keystroke data from a keyboard input device; determining a current mapping for the keyboard input device in response to a language for the keyboard input device; identifying characters responsive to the keystroke data and the current mapping; comparing the characters to words in a dictionary associated with the current mapping, wherein the dictionary stores words in the language; determining whether the characters identify a word in the language based on the comparison; if a word in the language is identified by the characters, accepting the characters as input; and if no word in the language is identified by the characters: 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 mapping, wherein the alternative dictionary stores words in the alternative language; and determining that the alternative mapping is valid if the alternative characters match an alternative word in the alternative dictionary. 2. The computer implemented method of claim 1 , further comprising: wherein if the alternative characters do not match any alternative word in the alternative dictionary: identifying one or more candidate words based on partial matches of the alternative characters to the alternative words; ranking the identified candidate words at least in part based on respective frequencies of usage of the identified candidate words in a language model of the alternative language; and providing the one or more identified candidate words for display on a user device at least in part based on the ranking.