skillfed

zope.i18n

Zope Internationalization Support

zope-i18n v6.0 175.0K downloads/30d#10,273 on PyPI2
License unclear ZPL-2.1 AGING released

What it is and what it does

zope.i18n is a mature internationalization framework for Python web applications and Zope-based systems. It provides locale objects for all locales maintained by the ICU project, gettext-based message catalogs for translating message strings, and utilities for discovering the appropriate locale from web-based requests. The package handles pluralization, number and date formatting for different locales, and integrates with the Zope component architecture through dependencies on zope.schema, zope.component, and zope.deprecation.

The package is designed for developers building multilingual applications who need robust locale support and translation workflows. It abstracts away the complexity of managing multiple language variants, character sets, and locale-specific formatting rules. Recent versions (6.0) modernized the codebase by replacing pkg_resources with PEP 420 native namespaces, and the package maintains support for current Python versions (3.9 through 3.13) and PyPy.

Use it for:

  • Build a web application that serves content in multiple languages using gettext catalogs and automatic locale negotiation.
  • Format numbers, dates, and times correctly for different locales without manual locale-specific logic.
  • Translate user-facing messages in a Zope application using the message factory and translation domain system.
  • Support character set variants (e.g., Serbian Latin vs. Cyrillic) by configuring allowed languages via environment variables.
  • Integrate locale discovery into a web framework to automatically select the user's preferred language from request headers.

Worth the install?

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

Provides internationalization and localization APIs for Python applications, including locale objects, gettext-based message catalogs, and locale discovery for web requests.

Yes, if you are building a Zope-based application or need a mature, battle-tested i18n framework with ICU locale support. The package is stable, has no known vulnerabilities, and supports modern Python versions. The aging maintenance status (336 days since release) is not a blocker for production use but suggests you should monitor the repository for security updates. The ZPL-2.1 license is OSI-approved but marked unclear in the fact sheet—verify compatibility with your project's licensing requirements before committing.

Install

zope-i18n on PyPI

pip

pip install zope-i18n

uv

uv add zope-i18n

poetry

poetry add zope-i18n

Installing zope.i18n

Before you install

Low install friction with a pure-wheel distribution. Maintenance status is aging—last release was 336 days ago—but the package remains actively maintained with recent commits and no known vulnerabilities.

License in practice

Licensed under ZPL-2.1 (Zope Public License 2.1), which is OSI-approved. License treatment is marked unclear in the fact sheet; review the ZPL-2.1 terms if proprietary or copyleft compatibility matters for your use.

Quickstart

pip install zope.i18n

from zope.i18n import translate
from zope.i18nmessageid import MessageFactory

_ = MessageFactory('mydomain')
message = _('Hello')
translated = translate(message, target_language='es')

Requires Python 3.9 or later; Python 3.8 and earlier are not supported.

Verify before relying

  • Whether ZPL-2.1 is compatible with your project's license or distribution model
  • Whether the aging maintenance status (336 days since last release) affects your risk tolerance for production use

Package facts

License ZPL-2.1 (unclear)
Python support supports the current Python release (>=3.9)
Install friction low — pure-Python wheel
Runtime dependencies 7 — setuptools, python-gettext, pytz, zope.deprecation, zope.schema, zope.i18nmessageid, zope.component
Maintenance aging — 336 days since the last release
Last repo commit
First released
Downloads 175,033/month — #10,273 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: zope_i18n-6.0-py3-none-any.whl

Keywords: zope3, internationalization, localization, i18n, l10n, gettext, ICU, locale

Development Status :: 5 - Production/StableEnvironment :: Web EnvironmentFramework :: Zope :: 3Intended Audience :: DevelopersLicense :: OSI Approved :: Zope Public LicenseNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: Internet :: WWW/HTTP

Tags

internationalization i18nlocalization l10ngettext message catalogslocale objects ICUzope translationmulti-language supportmessage translation framework
internationalizationlocalizationzope-ecosystem

More WWW/HTTP packages