A text prediction system comprising: a user interface configured to receive text input by a user; a text prediction engine configured to receive the text input from the user interface, the text prediction engine comprising: a plurality of language models configured to generate from a plurality of evidence sources a plurality of first sets of sequences with associated probability estimates, wherein one of the plurality of evidence sources comprises user inputted text, and the plurality of language models correspond to a plurality of different languages; a probability generator configured to receive the plurality of first sets of sequences with associated probability estimates and to generate a set of sequence predictions with associated probability values, wherein the probability values are approximate normalized over all possible sequence predictions generated by the probability generator given all of the possible sequences received by the probability generator, wherein the text prediction engine is configured to weight the probability values of the sequence predictions according to the probability that the corresponding language model comprises a given context sequence; and to weight highest the probability values of the sequence predictions corresponding to the language model relating to the most likely language of user inputted text. a user interface configured to receive text input by a user; a text prediction engine configured to receive the text input from the user interface, the text prediction engine comprising: a plurality of language models configured to generate from a plurality of evidence sources a plurality of first sets of sequences with associated probability estimates, wherein one of the plurality of evidence sources comprises user inputted text, and the plurality of language models correspond to a plurality of different languages; a probability generator configured to receive the plurality of first sets of sequences with associated probability estimates and to generate a set of sequence predictions with associated probability values, a plurality of language models configured to generate from a plurality of evidence sources a plurality of first sets of sequences with associated probability estimates, wherein one of the plurality of evidence sources comprises user inputted text, and the plurality of language models correspond to a plurality of different languages; a probability generator configured to receive the plurality of first sets of sequences with associated probability estimates and to generate a set of sequence predictions with associated probability values, wherein the probability values are approximate normalized over all possible sequence predictions generated by the probability generator given all of the possible sequences received by the probability generator, wherein the text prediction engine is configured to weight the probability values of the sequence predictions according to the probability that the corresponding language model comprises a given context sequence; and to weight highest the probability values of the sequence predictions corresponding to the language model relating to the most likely language of user inputted text.