Skip to main content

Languages and dialects of the world for Django projects

Project description

Django World Languages (DWL) provides you with language related models:

  • Language
  • Family - Both ISO 639-5 and Glottolog language families
  • Dialect - Slightly different dictions and pronunciations of languages
  • LexicalSimilarity - Similarities between languages

and language metadata:

  • UsedIn - Maps languages to countries they are spoken in
  • Characteristic - Common characteristics of languages (word type orders, number of speech sounds, subject/verb/object order, syllable patterns)
  • Script and ScriptStyle - Characters that are used in languages
  • DevelopmentNote - Development statuses of languages (tags, Bible translations, literacy rates)


  1. Install it with pip:

    pip install django-world-languages
  2. Add world_languages to the INSTALLED_APPS variable in your project’s file:

        # ...
        # ...
  3. Create the database tables:

    python migrate world_languages


All configuration options should be specified in the LANGUAGE_SETTINGS variable in your project’s file.

  • PLUGINS - You can specify your own functions to run before and after a language is created. This should be specified as a dictionary mapping signal names to your custom function in dotted-module notation.


        'PLUGINS': {
            'pre_language': 'custom_app.utils.function_name'
        # ...
  • FILES - You can also specify your own URLs where files are hosted.


        # ...
        'FILES': {
            'language': {
                'filename': 'iso-languagecodes.txt',
                'urls': [url_bases['geonames']['dump'] + '{filename}'],
                'fields': [
            'glottolog': {
                'filename': 'languages.yaml',
                'urls': [url_bases['glottolog']['languoids'] + '{filename}'],

Import Data

Once you have created the models and adjusted the settings to your liking, you will need to import data into your database with the provided world_languages management command:

python world_languages --import=all


  • Tests
  • Add import signals for all models, not just Language

Reporting Bugs

This package uses regexes to parse downloaded YAML, HTML, and text files from Glottolog, Wikipedia, and Geonames. If you find a bug, especially in the import script, please open an issue on Github.

Project details

Release history Release notifications | RSS feed

This version


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for django-world-languages, version 0.1
Filename, size File type Python version Upload date Hashes
Filename, size django-world-languages-0.1.tar.gz (53.8 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page