1. A data processing method comprising: receiving, at a server computer, an electronic document comprising a plurality of unknown-language data elements each associated with one or more types; based on a document schema of the document, selecting one or more unknown-language data elements from the plurality of unknown-language data elements; assigning to each of the one or more unknown-language data elements a corresponding weight value based on a respective type of the unknown-language data element; comparing the one or more unknown-language data elements with a plurality of known-language data elements that are associated with the document schema; based on the comparing, determining a number of unknown-language data elements in the one or more unknown-language data elements that matched any in a subset of the plurality of known-language data elements, wherein the subset of known-language data elements corresponds to a particular language; based on the number of unknown-language data elements in the one or more unknown-language data elements that matched to the subset of known-language data elements and based on the corresponding weight value assigned to each unknown-language data element in the number of unknown-language data elements, determining a language confidence level value specifying a level of machine confidence that the document is expressed in the particular language; based on the language confidence level value for the particular language exceeding a language threshold value, automatically processing the document using the particular language.