Awesome
TinyLD
:tada: Description
Tiny Language Detector, simply detect the language of a unicode UTF-8 text:
- Pure JS, No api call, No dependencies (Node and Browser compatible)
- Blazing fast and low memory footprint (unlike ML methods)
- Train with dataset from Tatoeba and UDHR
- Support 62 languages (24 for the web version)
- Reliable even for really short texts (chatbot, keywords, ...)
- Support both ISO-639-1 & ISO-639-2
- Available for NodeJS (
CommonJS
andESM
), Deno and Browser
Links
- Playground - Try the library
- Play with some code
- Getting Started
- Supported Languages
- Algorithm
- Frequently Asked Questions
:floppy_disk: Getting Started
Install
yarn add tinyld # or npm install --save tinyld
:page_facing_up: TinyLD API
import { detect, detectAll } from 'tinyld'
// Detect
detect('これは日本語です.') // ja
detect('and this is english.') // en
// DetectAll
detectAll('ceci est un text en francais.')
// [ { lang: 'fr', accuracy: 0.5238 }, { lang: 'ro', accuracy: 0.3802 }, ... ]
:paperclip: TinyLD CLI
tinyld This is the text that I want to check
# [ { lang: 'en', accuracy: 1 } ]
:chart_with_upwards_trend: Performance
Here is a comparison of Tinyld against other popular libraries.
To summary in one sentence:
Better, Faster, Smaller
Developer
You want to Contribute or Open a PR, it's recommend to take a look at the dev documentation