We can reliably determine the language in which a text is written in. In contrast to other engines, we also have a category “unknown” so that texts are not forced into a category. This improves the quality of subsequent processing steps. Recognition rates are near-perfect even for strings as short as 100 characters. With longer texts it can also be trained to determine domain differences within the same language. Implementation is very efficient and allows real-time recognition even on a smartphone.