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)
Installation
Install it with pip:
pip install django-world-languages
Add world_languages to the INSTALLED_APPS variable in your project’s settings.py file:
INSTALLED_APPS = [ # ... 'world_languages', # ... ]
Create the database tables:
python manage.py migrate world_languages
Configuration
All configuration options should be specified in the LANGUAGE_SETTINGS variable in your project’s settings.py 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.
Example
LANGUAGE_SETTINGS = { 'PLUGINS': { 'pre_language': 'custom_app.utils.function_name' }, # ... }
FILES - You can also specify your own URLs where files are hosted.
Example
LANGUAGE_SETINGS = { # ... 'FILES': { 'language': { 'filename': 'iso-languagecodes.txt', 'urls': [url_bases['geonames']['dump'] + '{filename}'], 'fields': [ 'iso639-3', 'iso639-2', 'iso639-1', 'name', ] }, '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 manage.py world_languages --import=all
TODO
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
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file django-world-languages-0.1.tar.gz
.
File metadata
- Download URL: django-world-languages-0.1.tar.gz
- Upload date:
- Size: 53.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9d3cc0914af675f4c7daf34db7ad6391de340768e0518e5d4bf0b33b3e1e1e10 |
|
MD5 | 21f9d5dc75e21e7ca07c7a9960eaab92 |
|
BLAKE2b-256 | 100d4815340d40c1330dd5ebcce890f0957a1a62531b760249cb4398ef1039ae |