33. The method as recited in claim 32 , further comprising writing the candidate output written language sentence and the list of sorted candidate output written language words to the user interface on a display device.
32. A computer-implemented method for converting a phonetic language text to a written language text, the method comprising: performing, by one or more computers: generating a plurality of possible phonetic language syllable segmentations for a phonetic language input text string; generating a plurality of possible written language sentences each including one or more written language words, wherein each sentence corresponds to one of the syllable segmentations, and wherein each word in each sentence corresponds to one or more of the syllables in the corresponding syllable segmentation; determining probability scores for the words and for sequences of two or more words in the sentences according to a language model comprising written language words and a history cache of previously selected written language words; generating a list of candidate output words for a current selection position in the phonetic language input text string from the sentences, wherein the list of candidate output words is sorted according to the probability scores; determining one of the possible written language sentences as a most probable candidate output sentence for the phonetic language input text string according to the probability scores; and generating a user interface element including at least part of the list of sorted candidate output words and the candidate output sentence.