Lingua.detect
detect, go back to Lingua module for more information.
detect(text, options \\ [])
Detect the language of the given input text. By default, all supported languages will be considered and
the minimum relative distance is 0.0.
Returns the detected language, or a list of languages and their confidence values, or :no_match if the given text
doesn't match a language.
Options:
builder_option:- can be one of the following (defaults to:all_languages)::all_languages- consider every supported language:all_spoken_languages- consider only currently spoken languages:all_languages_with_arabic_script- consider only languages written in Arabic script:all_languages_with_cyrillic_script- consider only languages written in Cyrillic script:all_languages_with_devanagari_script- consider only languages written in Devanagari script:all_languages_with_latin_script- consider only languages written in Latin script:with_languages- consider only the languages supplied in thelanguagesoption.:without_languages- consider all languages except those supplied in thelanguagesoption. Two or more are required. (see below)
languages:- specify two or more languages to consider or to not consider depending on thebuilder_option:(defaults to[]). Accepts any combination of languages and ISO 639-1 or 639-3 codes, for example:[:english, :ru, :lit]to consider English, Russian and Lithuanian.minimum_relative_distance:- specify the minimum relative distance (0.0 - 0.99) required for a language to be considered a match for the input. See the lingua-rs documentation for details. (defaults to0.0)compute_language_confidence_values:- returns the full list of language matches for the input and their confidence values. (defaults tofalse)preload_language_models:- preload all language models instead of just those required for the match. (defaults tofalse)
Examples
iex> Lingua.detect("this is definitely English")
{:ok, :english}
iex> Lingua.detect("וזה בעברית")
{:ok, :hebrew}
iex> Lingua.detect("państwowych", builder_option: :with_languages, languages: [:english, :russian, :polish])
{:ok, :polish}
iex> Lingua.detect("ѕидови", builder_option: :all_languages_with_cyrillic_script)
{:ok, :macedonian}
iex> Lingua.detect("כלב", builder_option: :with_languages, languages: [:english, :russian, :polish])
{:ok, :no_match}
iex> Lingua.detect("what in the world is this", builder_option: :with_languages, languages: [:english, :russian, :hebrew], compute_language_confidence_values: true)
{:ok, [english: 1.0]}