10. A computer-implemented system for identifying a language in a message, comprising: one or more computer processors programmed to implement a sanitizer module, a grouper module, and a language detector module, wherein the sanitizer module obtains a text message generated by a user and removes non-language characters from the text message to generate a sanitized text message, wherein the grouper module detects an alphabet and a script present in the sanitized text message, and wherein (i) detecting the alphabet comprises performing an alphabet-based language detection test to determine a first set of scores, and wherein each score in the first set of scores represents a likelihood that the sanitized text message comprises the alphabet for one of a plurality of different languages, and (ii) detecting the script comprises performing a script-based language detection test to determine a second set of scores, and wherein each score in the second set of scores represents a likelihood that the sanitized text message comprises the script for one of the plurality of different languages, and wherein the language detector module is operable to perform operations comprising: providing one or more combinations of the first and second sets of scores as input to one or more classifiers including a first classifier and a second classifier, wherein the first classifier was trained using outputs from a first combination of language detection tests and the second classifier was trained using outputs from a second combination of language detection tests; obtaining as output from at least one of the one or more classifiers a respective confidence score that the sanitized text message is in one of a plurality of different languages; and identifying the language in the sanitized text message based on the confidence score from at least one of the one or more classifiers.
12. The system of claim 10 , wherein the one or more combinations comprise an interpolation between the first and second sets of scores.