Python Programming Examples Tutorial Index

Python String Programs

Detecting the language of a text is crucial in text processing and analysis, especially when handling content in multiple languages. In this tutorial, you will learn how to create a Python program to identify the languages used in a text. Such a program is essential in various fields, including data analysis, web development, and natural language processing, where interpreting and classification language data is necessary.

Understanding Language Detection

Language detection involves identifying the language of a given text. This task is challenging due to the subtle nuances and similarities between different languages. However, Python simplifies this task with its rich library ecosystem, particularly langdetect.

Exploring langdetect

langdetect is a Python library based on the language detection algorithm from Google's Compact Language Detector 2 (CLD2). It supports over 50 languages and efficiently handles texts with mixed languages, offering fast and accurate results.

Using langdetect

To utilize langdetect, you need to import the detect function from the langdetect module:

from langdetect import detect

The detect function accepts a text input and returns the most probable language code:


text = "AI is transforming the tech industry."
language = detect(text)
print(language)  # Output: en

Handling Errors and Exceptions

The detect function may occasionally raise exceptions, mainly if the text is too short, ambiguous, or contains unknown characters. To manage these exceptions, use a try-except block:


text = "☺☺☺"
    language = detect(text)
except Exception as e:
    print(e)  # Output: No features in text.

This approach helps in dealing with texts that do not have sufficient features to determine the language.

Detecting Multiple Languages

For texts with mixed languages, use the detect_langs function from the langdetect module:

from langdetect import detect_langs

The detect_langs function takes a text as an input and returns a list of Language objects, each with a language code and a probability score.


from langdetect import detect_langs

text = "Python is a versatile language. पायथन एक बहुमुखी भाषा है।"
languages = detect_langs(text)
for language in languages:
    print(language.lang, language.prob)

# Sample Output:
# en 0.50 (English)
# hi 0.50 (Hindi)

This function returns a list of Language objects, each with a language code and a probability score, indicating the possibility of each language being present in the text.


In this tutorial, you've learned to use the langdetect library in Python for language detection. You now know how to install langdetect, use its primary functions (detect and detect_langs), handle errors and exceptions, and detect multiple languages in a text.

Found This Page Useful? Share It!
Get the Latest Tutorials and Updates
Join us on Telegram