https://github.com/cordery/django-languages-plus
Provides models and fixtures for working with both common languages and 'culture codes' or locale codes, like pt-BR.
https://github.com/cordery/django-languages-plus
django i18n languages python translation
Last synced: 18 days ago
JSON representation
Provides models and fixtures for working with both common languages and 'culture codes' or locale codes, like pt-BR.
- Host: GitHub
- URL: https://github.com/cordery/django-languages-plus
- Owner: cordery
- License: mit
- Created: 2014-05-21T12:47:09.000Z (about 11 years ago)
- Default Branch: master
- Last Pushed: 2024-06-06T08:26:40.000Z (12 months ago)
- Last Synced: 2025-05-05T02:03:48.040Z (20 days ago)
- Topics: django, i18n, languages, python, translation
- Language: Python
- Homepage:
- Size: 197 KB
- Stars: 24
- Watchers: 2
- Forks: 15
- Open Issues: 12
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.rst
- License: LICENSE
- Authors: AUTHORS.rst
Awesome Lists containing this project
README
=============================
Django Languages Plus
=============================.. image:: https://badge.fury.io/py/django-languages-plus.svg
:target: https://badge.fury.io/py/django-languages-plus.. image:: https://github.com/cordery/django-languages-plus/actions/workflows/tox.yml/badge.svg
:target: https://github.com/cordery/django-languages-plus/actions/workflows/tox.ymldjango-languages-plus provides models and fixtures for working with both common languages and 'culture codes' or locale codes, like pt-BR.
Note that this is only a small (but popular) subset of all living languages, and is not even a comprehensive set of the ISO 639 languages. It does however include the endonym/autonym/exonym.
The Language model contains all ISO 639-1 languages and related information from http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
The model provides the following fields (original wikipedia.org column name in parentheses).
* name_en (ISO Language Name)
* name_native (Native Name)
* iso_639_1 (639-1)
* iso_639_2T = (639-2/T)
* iso_639_2B = (639-2/B)
* iso_639_3 = (639-3)
* family = (Language Family)
* countries_spoken------------
Installation
------------::
pip install django-languages-plus
------------
Usage
------------1. Add ``languages_plus`` and ``countries_plus`` to your INSTALLED_APPS.
2. Migrate your database and load the language data fixture::
python manage.py migrate
python manage.py loaddata languages_data.json.gz3. In your code use::
from languages_plus.models import Language
lang = Language.objects.get(iso_639_1='en')---------------------------------------
Generating Culture Codes (ex: pt_BR)
---------------------------------------
django-countries-plus(https://pypi.python.org/pypi/django-countries-plus) is an explicit requirement, and should be installed automatically when installing languages-plus. When both packages are installed correctly you can run the following command once to associate the two datasets and generate a list of culture codes (pt_BR for example)::from languages_plus.utils import associate_countries_and_languages
associate_countries_and_languages()---------------------------------------
Requirements
---------------------------------------
django-countries-plus >= 1.Django: Tested against the LTS versions of 3, 4, and the latest of 5.
Python 3Running Tests
-------------Does the code actually work?
::
$ poetry install
$ poetry run pytestOr for the full tox suite:
::
$ poetry install
$ pip install tox
$ tox