Alternatives To Franc
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Franc3,745276614 months ago34August 15, 20214mitJavaScript
Natural language detection
Spark Nlp3,158229 hours ago90March 05, 202135apache-2.0Scala
State of the Art Natural Language Processing
Nlp Models Tensorflow1,329
3 years ago3mitJupyter Notebook
Gathers machine learning and Tensorflow deep learning models for NLP problems, 1.13 < Tensorflow < 2.0
Lingua Go862211 days ago8December 28, 20215apache-2.0Go
The most accurate natural language detection library for Go, suitable for long and short text alike
Language Detection710177a year ago18March 05, 20213mitPHP
A language detection library for PHP. Detects the language from a given text string.
Lingua Rs594120 days ago3February 16, 202213apache-2.0Rust
The most accurate natural language detection library for Rust, suitable for long and short text alike
Awesome Persian Nlp Ir565
9 months ago
Curated List of Persian Natural Language Processing and Information Retrieval Tools and Resources
Lingua52015 months ago16June 09, 20226apache-2.0Kotlin
👄 The most accurate natural language detection library for Java and the JVM, suitable for long and short text alike
Lingua Py453
5 days ago6January 24, 202211apache-2.0Python
The most accurate natural language detection library for Python, suitable for long and short text alike
Malaya347220 days ago149June 01, 20227mitJupyter Notebook
Natural Language Toolkit for bahasa Malaysia, https://malaya.readthedocs.io/
Alternatives To Franc
Select To Compare


Alternative Project Comparisons
Readme

franc

Build Status Coverage Status

Detect the language of text.

Whats so cool about franc?

  1. franc can support more languages() than any other library
  2. franc is packaged with support for 82, 187, or 414 languages
  3. franc has a CLI
  • Based on the UDHR, the most translated copyright-free document in the world.

Whats not so cool about franc?

franc supports many languages, which means its easily confused on small samples. Make sure to pass it big documents to get reliable results.

Install

Note: this installs the franc package, with support for 187 languages (languages which have 1 million or more speakers). franc-min (82 languages, 8m or more speakers) and franc-all (all 414 possible languages) are also available. Finally, use franc-cli to install the CLI.

This package is ESM only. In Node.js (version 14.14+, 16.0+), install with npm:

npm install franc

In Deno with esm.sh:

import {franc, francAll} from 'https://esm.sh/[email protected]'

In browsers with esm.sh:

<script type="module">
  import {franc, francAll} from 'https://esm.sh/[email protected]?bundle'
</script>

Use

import {franc, francAll} from 'franc'

franc('Alle menslike wesens word vry') //=> 'afr'
franc('    IBM ') //=> 'ben'
franc('Alle menneske er fdde til fridom') //=> 'nno'

franc('') //=> 'und' (language code that stands for undetermined)

// You can change whats too short (default: 10):
franc('the') //=> 'und'
franc('the', {minLength: 3}) //=> 'sco'

console.log(francAll('Considerando ser essencial que os direitos humanos'))
//=> [['por', 1], ['glg', 0.771284519307895], ['spa', 0.6034146900423971], 123 more items]

console.log(francAll('Considerando ser essencial que os direitos humanos', {only: ['por', 'spa']}))
//=> [['por', 1 ], ['spa', 0.6034146900423971]]

console.log(francAll('Considerando ser essencial que os direitos humanos', {ignore: ['spa', 'glg']}))
//=> [['por', 1], ['cat', 0.5367251059928957], ['src', 0.47461899851037015], 121 more items]

API

This package exports the identifiers franc, francAll. There is no default export.

franc(value[, options])

Get the most probable language for the given value.

Parameters
  • value (string) value to test
  • options (Options, optional) configuration
Returns

The most probable language (string).

francAll(value[, options])

Get the most probable language for the given value.

Parameters
  • value (string) value to test
  • options (Options, optional) configuration
Returns

Array containing languagedistance tuples (Array<[string, number]>).

Options

Configuration (Object, optional) with the following fields:

options.only

Languages to allow (Array<string>, optional).

options.ignore

Languages to ignore (Array<string>, optional).

options.minLength

Minimum length to accept (number, default: 10).

CLI

Install:

npm install franc-cli --global

Use:

CLI to detect the language of text

Usage: franc [options] <string>

Options:

  -h, --help                    output usage information
  -v, --version                 output version number
  -m, --min-length <number>     minimum length to accept
  -o, --only <string>           allow languages
  -i, --ignore <string>         disallow languages
  -a, --all                     display all guesses

Usage:

# output language
$ franc "Alle menslike wesens word vry"
# afr

# output language from stdin (expects utf8)
$ echo "    IBM " | franc
# ben

# ignore certain languages
$ franc --ignore por,glg "O Brasil caiu 26 posies"
# src

# output language from stdin with only
$ echo "Alle mennesker er fdt frie og" | franc --only nob,dan
# nob

Data

Supported languages
Package Languages Speakers
franc-min 82 8M or more
franc 187 1M or more
franc-all 414 -
Language code

Note: franc returns ISO 639-3 codes (three letter codes). Not ISO 639-1 or ISO 639-2. See also GH-10 and GH-30.

To get more info about the languages represented by ISO 639-3, use iso-639-3. There is also an index available to map ISO 639-3 to ISO 639-1 codes, iso-639-3/to-1.json, but note that not all 639-3 codes can be represented in 639-1.

Types

These packages are fully typed with TypeScript. They export the additional types TrigramTuple and Options.

Compatibility

These package are at least compatible with all maintained versions of Node.js. As of now, that is Node.js 14.14+ and 16.0+. They also works in Deno and modern browsers.

Ports

Franc has been ported to several other programming languages.

The works franc is derived from have themselves also been ported to other languages.

Derivation

Franc is a derivative work from guess-language (Python, LGPL), guesslanguage (C++, LGPL), and Language::Guess (Perl, GPL). Their creators granted me the rights to distribute franc under the MIT license: respectively, Kent S. Johnson, Jacob R. Rideout, and Maciej Ceglowski.

Contribute

Yes please! See How to Contribute to Open Source.

Security

This package is safe.

License

MIT Titus Wormer

Popular Language Detection Projects
Popular Natural Language Processing Projects
Popular Text Processing Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Javascript
Language
Natural Language Processing
Classification
Iso
Natural Language
Language Detection