skillfed

edx-i18n-tools

edX Internationalization Tools

edx-i18n-tools v2.0.0 79.1K downloads/30d#14,378 on PyPI26
Permissive license Apache License 2.0 Active released

What it is and what it does

edX i18n Tools is a command-line utility for managing translations in Django projects and apps. It wraps the standard gettext workflow (extraction, compilation, validation) and adds convenience commands for working with Transifex, a translation management platform. The tool reads configuration from a YAML file and operates on .po (Portable Object) translation files, generating .mo (Machine Object) compiled files and providing validation to catch translation errors before deployment.

The package is designed for development teams and translators working on Django-based projects that need to support multiple languages. It handles both Django projects (where config lives at `./conf/locale/config.yaml`) and Django apps (where config is at `./locale/config.yaml`), and can extract strings from Python, JavaScript, and JSX files. It depends on Django, lxml for XML parsing, polib for .po file manipulation, and pyYaml for configuration.

Use it for:

  • Extract translatable strings from Django source code and populate .po files as part of a continuous localization workflow.
  • Validate .po translation files for syntax errors, missing translations, and tag mismatches before uploading to Transifex.
  • Compile .po files into .mo binary format for deployment in production Django applications.
  • Push source and translated .po files to Transifex and pull completed translations back into the project.
  • Generate test-language (Esperanto) .po files to verify that the extraction and compilation pipeline works correctly.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Command-line tool for extracting, compiling, validating, and managing translations in Django projects and apps, with integration for uploading to and downloading from Transifex.

Yes. The package is actively maintained, has no known vulnerabilities, uses a permissive license, and solves a real problem for Django projects that need multi-language support. Install friction is low and dependencies are standard. It is most useful if you are already using Django and Transifex; if you manage translations differently, you may not need it.

Install

edx-i18n-tools on PyPI

pip

pip install edx-i18n-tools

uv

uv add edx-i18n-tools

poetry

poetry add edx-i18n-tools

Installing edx-i18n-tools

Before you install

Low install friction with a pure-Python wheel distribution. Actively maintained with a recent release and no known vulnerabilities. Depends on standard libraries (Django, lxml, pyYaml, polib, path) that are widely used and well-supported.

License in practice

Licensed under Apache License 2.0 (permissive), so you can use, modify, and distribute it freely in commercial and open-source projects without copyleft obligations.

Quickstart

pip install edx-i18n-tools

# Extract source strings into .po files
i18n_tool extract

# Validate translation files for errors
i18n_tool validate

# Compile .po files to .mo message files
i18n_tool generate

Requires msgcat (from gettext) to be installed and in PATH for some operations; on macOS, install via `brew install gettext`.

Verify before relying

  • Whether the package works with Python versions other than 3.12, given the classifier lists only 3.12 but requires_python is unspecified.
  • Current status of Transifex integration and whether it remains compatible with modern Transifex API versions.

Package facts

License Apache License 2.0 (permissive)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies 5 — Django, lxml, path, polib, pyYaml
Maintenance actively maintained — 157 days since the last release
Last repo commit
First released
Downloads 79,126/month — #14,378 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: edx_i18n_tools-2.0.0-py2.py3-none-any.whl

Development Status :: 5 - Production/StableEnvironment :: Web EnvironmentFramework :: DjangoFramework :: Django :: 4.2Framework :: Django :: 5.2Intended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3.12

Tags

django translation extractioni18n tools command linepo file compilationtransifex integrationtranslation validationgettext workflowdjango localization
django-i18ntransifexgettext

More Linguistic packages