django-statici18n
A Django app that compiles i18n JavaScript catalogs to static files.
What it is and what it does
django-statici18n solves a performance problem in Django applications that use JavaScript internationalization. Django's built-in JSONCatalog view generates translation catalogs dynamically on every request, which adds overhead as sites grow. This package pre-compiles those catalogs into static files that can be served directly, eliminating the per-request generation cost.
The package works by collecting JavaScript translation catalogs from your Django apps and compiling them into static files using a management command. It integrates with Django's staticfiles framework and supports modern Django versions (4.2 LTS, 5.2 LTS, and 6.0) across Python 3.8 through 3.14. Installation is straightforward: add it to INSTALLED_APPS, run the compilejsi18n command after translating and compiling your messages, and update your templates to reference the static catalog instead of the dynamic view.
Use it for:
- Optimize JavaScript translation performance in multi-language Django sites by pre-compiling catalogs.
- Reduce server load by serving static i18n files instead of generating them per request.
- Integrate static JavaScript translations with Django's staticfiles collection and CDN deployment.
- Support client-side gettext-like translation functions with pre-compiled message catalogs.
- Simplify template code by using provided template tags to include compiled i18n catalogs.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Compiles Django's JavaScript internationalization catalogs to static files, eliminating per-request overhead from dynamic catalog generation.
Yes. The package is actively maintained, production-stable, has no known vulnerabilities, and solves a real performance problem for Django sites using JavaScript internationalization. Installation friction is minimal with only two runtime dependencies. The permissive BSD license poses no restrictions.
Install
django-statici18n on PyPI
pip
pip install django-statici18nuv
uv add django-statici18npoetry
poetry add django-statici18nInstalling django-statici18n
Before you install
Low friction installation with only Django and django-appconf as runtime dependencies. Package is actively maintained with recent commits and marked production-stable.
License in practice
BSD license is permissive, allowing use in commercial and proprietary projects with minimal restrictions.
Quickstart
pip install django-statici18n
# Add to INSTALLED_APPS in settings.py:
INSTALLED_APPS = [
'statici18n',
]
# Run management command:
python manage.py compilejsi18n
Requires Django to be installed and configured with i18n support; translation messages must be compiled before running compilejsi18n.
Verify before relying
- Whether the package supports Django versions beyond 6.0 or if 6.0 is the current maximum.
- Performance improvement metrics or benchmarks comparing static vs. dynamic catalog generation.
Package facts
| License | BSD (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — Django, django-appconf |
| Maintenance | actively maintained — 152 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 231,035/month — #9,098 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: django_statici18n-2.7.1-py2.py3-none-any.whl
Tags
More Dynamic Content packages
MarkupSafe provides a text object that escapes…
permissive · top 100 on PyPI
Jinja2Jinja2 is a templating engine that renders…
permissive · top 100 on PyPI
soupsieveSoupsieve is a CSS selector library designed to…
permissive · top 100 on PyPI
WerkzeugWerkzeug is a WSGI utility library providing…
permissive · top 1,000 on PyPI
FlaskFlask is a lightweight WSGI web application…
permissive · top 1,000 on PyPI
MakoMako compiles Python-embedded templates into…
permissive · top 1,000 on PyPI
django-js-reverseExposes Django named URLs to JavaScript,…
permissive · top 15,000 on PyPI
zope.i18nProvides internationalization and localization…
unclear · top 15,000 on PyPI
oslo.i18noslo.i18n provides utilities for handling…
permissive · top 5,000 on PyPI
translationstringProvides translation string objects and…
permissive · top 5,000 on PyPI
zope.i18nmessageidProvides message factory objects that tag…
unclear · top 5,000 on PyPI
ResourceBundleResourceBundle manages internationalization and…
permissive · top 15,000 on PyPI
flufl.i18nflufl.i18n provides a high-level API for…
permissive · top 15,000 on PyPI
babelBabel provides internationalization (i18n) and…
permissive · top 1,000 on PyPI
python-i18nProvides internationalization (i18n)…
permissive · top 15,000 on PyPI
django-npmdjango-npm integrates npm package management…
permissive · top 15,000 on PyPI