--- id: edx-i18n-tools version: "2.0.0" license: Apache License 2.0 license_treatment: permissive maintenance: active --- # edx-i18n-tools — edX Internationalization Tools License: permissive · Maintenance: active · Downloads: 79.1K/mo ## 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 above — 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 pip install edx-i18n-tools uv add edx-i18n-tools 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: unspecified - Install friction: low - Maintenance: active - Downloads: 79.1K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags django translation extraction, i18n tools command line, po file compilation, transifex integration, translation validation, gettext workflow, django localization, django-i18n, transifex, gettext [View on SkillFed](https://skillfed.io/packages/edx-i18n-tools) · [View on PyPI](https://pypi.org/project/edx-i18n-tools/)