--- id: i18nice version: "0.16.0" license: MIT license_treatment: permissive maintenance: active --- # i18nice — Translation library for Python License: permissive · Maintenance: active · Downloads: 307.4K/mo ## What it is and what it does i18nice is a translation library for Python that brings Rails-style i18n functionality to Python applications. It allows you to store translations in YAML or JSON files, organize them by locale and namespace, and retrieve translated strings at runtime with support for dynamic placeholders and pluralization rules. The library handles common i18n patterns: you define translations either programmatically or via files, set a current locale, and call the translation function to fetch translated strings. It supports fallback locales when a translation is missing, lazy-loads translation files to avoid unnecessary I/O, and provides configuration options for different file structures and naming conventions. With no external runtime dependencies, it is lightweight and easy to integrate into existing Python projects. Use it for: - Build a web application that serves content in multiple languages with locale-specific fallbacks - Add pluralization rules to user-facing messages (e.g., 'You have 1 mail' vs. 'You have 5 mails') - Manage translations for a CLI tool or desktop application using YAML or JSON files - Organize translations hierarchically by feature or module using directory and file namespaces - Store and retrieve translated strings with placeholder substitution for dynamic content ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. i18nice provides internationalization (i18n) functionality for Python applications, enabling translation of strings into multiple languages with support for placeholders, pluralization, and fallback locales. Yes. i18nice is actively maintained, has no security vulnerabilities, installs with zero friction, and provides a complete i18n solution for Python projects. The MIT license poses no restrictions. Install it if you need multi-language support; the Rails-inspired API and file-based configuration make it straightforward to adopt. ## Install pip install i18nice uv add i18nice poetry add i18nice ## Installing i18nice Before you install: Installation is straightforward with no runtime dependencies; the package is pure Python and installs as a wheel. Maintenance is active with recent commits and a stable release cycle. License in practice: MIT license is permissive, allowing use in commercial and proprietary projects with minimal restrictions—only attribution is required. Quickstart: pip install i18nice import i18nice i18nice.add_translation('greeting', 'Hello %{name}!') print(i18nice.t('greeting', name='World')) # Hello World! Verify before relying: - Whether the package supports Python 2 or only Python 3 (classifiers indicate Python 3 but requires_python is unspecified) - Performance characteristics when handling large translation files or many locales simultaneously - Compatibility with async/concurrent applications ## Package facts - License: MIT (permissive) - Python support: unspecified - Install friction: low - Maintenance: active - Downloads: 307.4K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags python i18n translation library, internationalization for python, multi-language string translation, yaml json translation files, pluralization and locale fallback, rails-style i18n python, translation management python, i18n, localization, translation [View on SkillFed](https://skillfed.io/packages/i18nice) · [View on PyPI](https://pypi.org/project/i18nice/)