1. In a data processing system responsive to a plurality of input languages, each language adhering to a prescribed syntax, the presence of defined data portions ("For" keys) in incoming data indicating a vote for the presence of a language and the presence of other defined data portions ("Against" keys) indicating a vote Against the presence of the language, a method for identifying an input language comprising the steps of: a) analyzing, for each expected language, a syntax of an incoming block of data to identify For and Against keys in said block of data; b) providing For and Against tallies for each expected language in response to said analysis, each said tally being a summation of key entries, each key entry comprising an identified key count multiplied by a skew, the value of said skew indicating an importance of said key in said syntax and in the context of said block of data, said For tally summing entries of For keys and said Against tally summing entries of Against keys; c) comparing said For and Against tallies to determine whether or not they are so close as to signal uncertainty and, based upon a further syntactical characteristic of said block of data, resolving said uncertainty and indicating a value based on one of said tallies, said indication dependent upon whether said further syntactical characteristic indicates For or Against the language; d) indicating a value derived from the larger of the tallies in the event of no uncertainty between the tallies; and e) deciding, based upon said indicated value for each said expected language, the identity of a received language.