{"id":21200,"library":"edx-i18n-tools","title":"edX Internationalization Tools","description":"edX Internationalization Tools is a Python library providing utilities for extracting, generating, and managing translation files (PO, MO, XLIFF) in edX projects. It wraps Babel, polib, and lxml. Current version 2.0.0 drops Python 3.11 support. Release cadence is irregular, with major versions driven by Python version drops.","status":"active","version":"2.0.0","language":"python","source_language":"en","source_url":"https://github.com/openedx/i18n-tools","tags":["i18n","localization","translation","edx","openedx"],"install":[{"cmd":"pip install edx-i18n-tools","lang":"bash","label":"default"}],"dependencies":[],"imports":[{"wrong":"from i18n_tools import extract_i18n","symbol":"Runner","correct":"from i18n import Runner"}],"quickstart":{"code":"from i18n_tools import extract_i18n\n\n# Extract translatable strings from source files\nextract_i18n(\n    source_paths=['./my_project'],\n    output_file='./locale/messages.po',\n    keywords=['_', 'gettext', 'ngettext:1,2']\n)\nprint('Translation extraction complete.')","lang":"python","description":"Extract translatable strings from Python source files into a PO file."},"warnings":[{"fix":"Upgrade Python environment to 3.12 or later.","message":"Version 2.0.0 drops support for Python 3.11. Only Python 3.12+ is supported.","severity":"breaking","affected_versions":">=2.0.0"},{"fix":"Replace shell script calls to 'extract' with Python code using i18n_tools.extract_i18n().","message":"The 'extract' command-line entry point has been removed in v2.0.0. Use the Python API instead.","severity":"deprecated","affected_versions":">=2.0.0"},{"fix":"Install system dependencies: apt-get install libxml2-dev libxslt1-dev (Debian/Ubuntu) or brew install libxml2 libxslt (macOS).","message":"The library depends on lxml which may require system libraries (libxml2, libxslt). Pip install may fail on minimal systems.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"search_vec":"'2.0.0':34 '3.11':37 'babel':28 'cadenc':40 'current':32 'driven':46 'drop':35,50 'edx':1,4,24,54 'extract':14 'file':19 'generat':15 'i18n':51 'internation':2,5 'irregular':42 'librari':10 'local':52 'lxml':31 'major':44 'manag':17 'mo':21 'openedx':55 'po':20 'polib':29 'project':25 'provid':11 'python':9,36,48 'releas':39 'support':38 'tool':3,6 'translat':18,53 'util':12 'version':33,45,49 'wrap':27 'xliff':22","created_at":"2026-04-27T16:58:36.683757+00:00","updated_at":"2026-04-27T16:58:36.683757+00:00","problems":null,"ecosystem":"pypi","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":"2.0.0","cli_name":"i18n_tools","cli_version":"sh: 1: i18n_tools: not found","type":"library","homepage":null,"github":"https://github.com/openedx/i18n-tools","docs":null,"changelog":null,"pypi":"https://pypi.org/project/edx-i18n-tools/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["devops","data"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"passing","verified_at":"2026-06-30","last_verified":"2026-06-30","next_check":"2026-07-30","install_tag":null}}