The detector runs an XLM-R classification model on your device and keeps the page responsive by doing inference in a worker. It prefers WebGPU acceleration and retries on the WebAssembly CPU backend when needed. The first run downloads about 296 MB of model and tokenizer data from Hugging Face. Browsers normally cache those files, but may remove them when storage is cleared or space is low.
The model compares Arabic, Bulgarian, Chinese, Dutch, English, French, German, Greek, Hindi, Italian, Japanese, Polish, Portuguese, Russian, Spanish, Swahili, Thai, Turkish, Urdu, and Vietnamese. Text in another language is forced toward one of those labels, so check the supported list before relying on a result.