Detecting the language for a small piece of unicode text without any dependency to other libraries.
Currently we support detecting de, en, es, fr, it, ja, nl, pl, ru, zh-hans, zh-hant, and zh-yue.
After some simple testing, we found that the result for long sentence is better.
We focus on the Basic Multilingual Plane in unicode encoding, and current language support set could be extended.
For each language, we use a uniformed ngram vector to represent the language itself. This vector can be seen at the data folder.
When we detect a text, we generate the uniformed ngram vector for this text, and just comparing the cosine value of the angle between the text vector and the language vector.
To get the language vector, we use feature articles on Wikipedia as corpus.
cd to the project root
bin/langdetect YOUR_SENTENCE_HERE