Flespi REST API for Python
Project description
i18n engine for Django Framework
Installation
Use the package manager pip to install django-i18n
pip3 install django-i18n
Setup
Before using library, you need setup some things in your django project, please follow this steps
- Setup all required variables in your settings.py
LOCALE = 'es' # Mandatory
LOCALE_FALLBACK = 'en' # Optional, default = 'en'
LOCALES = ['es'] # Mandatory
LOCALES_PATH = os.path.join(BASE_DIR, 'locales') # Optional, default path './locales' folder
INSTALLED_APPS = [
...
'django_i18n',
...
]
- After that, you need create a locales folder (Setted in LOCALES_PATH variable in your settings.py), inside your folder you need some yml files with EXACT names as you setted in LOCALES variable, next you can see an example
en:
my:
title: "An incredible title"
content: "Hello %{name}"
Usage in python files
from django_i18n.tools import translate, set_locale, handle_orm_errors
translate("my.title")
# OR
translate('my.content', name='World')
# Set locale
set_locale(locale="en", fallback="es") # Fallback is optional, default value is 'en'
# Handle ORM errors
form = MyForm(data)
handle_orm_errors(list_errors=form.errors, as_json=False)
# List errors is a Django forms errors
#as_json return dict as json string
Usage in template
{% load t from django_i18n %}
<html>
<head>
<title>{% t 'my.title' %}</title>
</head>
<body>
<h1>{% t 'my.content' name='World' %}</h1>
</body>
</head>
Fallback response
If you have setted a fallback, each translation may be return
translate('my.locale')
#> Fallback: An incredible title
If that key doesn't exists in your locale and your fallback, this is the response
translate('my.locale2')
#> Translation missin my.locale2
To Do
- Forms complete support handler
- Default messages for Django forms
- Other supported formats
Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.
License
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
django-i18n-1.0.5.tar.gz
(7.3 kB
view details)
Built Distribution
File details
Details for the file django-i18n-1.0.5.tar.gz
.
File metadata
- Download URL: django-i18n-1.0.5.tar.gz
- Upload date:
- Size: 7.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 250ad3fd07a53c8a59d8edd3c463faedf3f03d713e8f9484d2641065bafd6927 |
|
MD5 | f2f051b4acc58dc8e4c36ab58f35dd77 |
|
BLAKE2b-256 | 3f00dd3f17b7b503a876bfc6c34329790b4c2f016cec420a54aa53e27e6a7770 |
File details
Details for the file django_i18n-1.0.5-py3-none-any.whl
.
File metadata
- Download URL: django_i18n-1.0.5-py3-none-any.whl
- Upload date:
- Size: 5.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8058efe4893c569dd25e11d1fb2ac5520571c63ad4f055fb255de67511b59c47 |
|
MD5 | bddaea1dd93d2946c78181e25c2ab23e |
|
BLAKE2b-256 | fbd62ee2b50adb4b2b924f8bc1fea96a33528f8b666613d62064303870048d52 |