Skip to main content

Flespi REST API for Python

Project description

i18n engine for Django Framework

pypi version

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

  1. 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',
  ...
]
  1. 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

  1. Forms complete support handler
  2. Default messages for Django forms
  3. 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

MIT

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)

Uploaded Source

Built Distribution

django_i18n-1.0.5-py3-none-any.whl (5.9 kB view details)

Uploaded Python 3

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

Hashes for django-i18n-1.0.5.tar.gz
Algorithm Hash digest
SHA256 250ad3fd07a53c8a59d8edd3c463faedf3f03d713e8f9484d2641065bafd6927
MD5 f2f051b4acc58dc8e4c36ab58f35dd77
BLAKE2b-256 3f00dd3f17b7b503a876bfc6c34329790b4c2f016cec420a54aa53e27e6a7770

See more details on using hashes here.

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

Hashes for django_i18n-1.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 8058efe4893c569dd25e11d1fb2ac5520571c63ad4f055fb255de67511b59c47
MD5 bddaea1dd93d2946c78181e25c2ab23e
BLAKE2b-256 fbd62ee2b50adb4b2b924f8bc1fea96a33528f8b666613d62064303870048d52

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page