1. A system, comprising: a processor; a memory configured to couple to the processor; a display device configured to couple to the processor and the memory; an input device configured to couple to the processor, the memory, and the display device; wherein the memory comprises program instructions executable by the processor to implement a language input mechanism for converting a phonetic language text to a written language text, wherein the language input mechanism is configured to: receive multiple inputs to the input device each specifying a character to be added to a phonetic language input text string displayed in an input text user interface element on the display device, wherein a current selection position is set at the beginning of the phonetic language input text string, and wherein the displayed phonetic language input text string is updated to display an additional phonetic language character in response to each input specifying a character to be added to the phonetic language input text string; in response to each input specifying a character to be added to the phonetic language input text string: generate a plurality of possible phonetic language syllable segmentations for current content of the phonetic language input text string beginning at the current selection position; generate a plurality of possible written language sentences each including two or more written language words from the syllable segmentations; determine probability scores for the written language words according to a Language Model comprising written language words and a History Cache of previously selected written language words; generate a list of candidate written language words for the current content of the phonetic language input text string beginning at the current selection position from the plurality of possible written language sentences, wherein the list of candidate written language words is sorted according to the probability scores; determine one of the plurality of possible written language sentences as a most probable candidate written language sentence for the phonetic language input text string according to the probability scores; and write the candidate written language sentence and the list of sorted candidate written language words corresponding to the displayed phonetic language input text string to a user interface of the language input mechanism on the display device, wherein the candidate written language sentence and the list of sorted candidate written language words are displayed in a candidate output text user interface element that is displayed separately on the display device from the input text user interface element that displays the current phonetic language input text string; wherein the language input mechanism simultaneously and dynamically displays on the display device the current phonetic language input text string in the input text user interface element and the corresponding candidate written language sentence and the list of sorted candidate written language words in the candidate output text user interface element; and wherein the language input mechanism is further configured to replace portions of the currently displayed phonetic language input text string in the input text user interface element beginning at the current selection position with written language symbols from the candidate output text user interface element in response to input selecting either the candidate written language sentence or one of the written language words in the current list of sorted candidate written language words from the candidate output text user interface element.
3. The system as recited in claim 1 , wherein the language input mechanism is further configured to: in response to input indicating that a completed written language output sentence is to be committed to a destination on the display device: build a completed written language output sentence from the selected written language symbols displayed in the input text user interface element and the candidate written language sentence displayed in the candidate output text user interface element; and commit the completed written language sentence to a destination on the display device.