Lingua.detect

You're seeing just the function detect, go back to Lingua module for more information.
Link to this function

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 the languages option.
    • :without_languages - consider all languages except those supplied in the languages option. Two or more are required. (see below)
  • languages: - specify two or more languages to consider or to not consider depending on the builder_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 to 0.0)

  • compute_language_confidence_values: - returns the full list of language matches for the input and their confidence values. (defaults to false)

  • preload_language_models: - preload all language models instead of just those required for the match. (defaults to false)

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]}