Skip to main content

Python - Language Python - Status Python - Licence Python - Supported Versions Read the Docs Github - CI Codecov Github - Release PyPI - Version


i18n-tools

Version française (lecteur français et francophones)


English reader and ROW

Description

The i18n-tools project aims to simplify and modernize translation management in Python applications. It introduces a new flexible translation file format, independent of any dominant language, designed to coexist with existing standards such as gettext (.po/.mo files) and i18next.

The goal is to provide a modular, adaptable, and language-agnostic solution, with native support for translation variants, multiple plurals, and transparent language fallback management.


Roadmap

The project follows a progression by deliverable value. Each version is independently usable.

Milestone Description Status
v0.1.x Foundational cleanup — fix blocking bugs ✅ Delivered
v0.2.x Loaders ↔ models bridge — Book.load(), .i18t extension, partial Config → Repository ✅ Delivered
v0.3.x Complete model hierarchy — Corpus, FallbackBook, Encyclopaedia, exceptions ✅ Delivered
v0.4.x Quality and coverage — error handling, circular imports, Sphinx/Furo init ✅ Delivered
v0.5.0 Architecture & layering hardening — models/loaders boundary sealed, Config → Repository completed ✅ Delivered
v0.6.0 CI/CD & repository hygiene — uv/tox-uv, basedpyright, .codecov.yml ✅ Delivered
v0.7.0 Test coverage & repository hygiene — .codecov.yml components, coverage-gate, issue/PR templates, Node.js 24 CI migration. No separate tag — merged into v0.8.0 (calendar reagencement) ✅ Delivered
v0.8.0 Orchestration — core.py high-level entry point, fallback.py language chain resolution ✅ Delivered
v0.9.0 Formatting & CLI — formatter.py complete with PluralRule, CLI/REPL 🔵 Planned
v0.10.0 Reviewing architecture & models — architectural review ahead of the v1.0.0 freeze 🔵 Planned
v0.11.0 Comprehensive documentation — reference material across languages 🔵 Planned
v1.0.0 Freeze & verification — .i18t format frozen, public API frozen, full Sphinx docs published 🔵 Planned
v1.x gettext interoperability — .po/.mo import/export via Babel 🔵 Horizon
v2.x Third-party formats — i18next and others, central conversion hub 🔵 Horizon
v3.x Complete CLI, stable API, Rust/JavaScript ports 🔵 Horizon

Features

Feature v0.2.x v0.8.0 v0.9.0 v1.0.0 v1.x v2.x
Native .i18t format (JSON/YAML)
Language-neutral identifiers
Variants and multiple plurals
Load a Book from .i18t
Save a Book to .i18t
Complete hierarchy (Corpus, Encyclopaedia)
Language fallback management
High-level orchestration (core.py: load/save a Book or Corpus, synchronize a repository)
Interpolation and active plural rules
CLI/REPL interface
.po/.mo import/export (Babel/gettext)
i18next conversion

Why This Project?

  • Flexibility: a format designed to adapt to all translation needs, without linguistic constraints — no language is dominant.
  • Expressiveness: native support for contextual variants (gender, register, context) and business plurals beyond CLDR rules.
  • Extensibility: layered architecture enabling conversion to existing standards (gettext, i18next) without modifying the models.
  • Interoperability: bridge with the Babel ecosystem for progressive compatibility with existing tools.

License

See the license.md file.


Contact

For any questions or contributions, open a GitHub issue.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyi18t_tools-0.8.0.tar.gz (80.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyi18t_tools-0.8.0-py3-none-any.whl (90.2 kB view details)

Uploaded Python 3

File details

Details for the file pyi18t_tools-0.8.0.tar.gz.

File metadata

  • Download URL: pyi18t_tools-0.8.0.tar.gz
  • Upload date:
  • Size: 80.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for pyi18t_tools-0.8.0.tar.gz
Algorithm Hash digest
SHA256 85a1a1acf898b1af9d1feb7db85b9b6441ab7b82cdf302fa6568b1174a93e5c6
MD5 3737b2a87f67cb93dfff95024cb6f2f0
BLAKE2b-256 660982e04d4d8e1caf1a5a02edadc6a0fed1c940c3cdb70d0fafb80679d45728

See more details on using hashes here.

File details

Details for the file pyi18t_tools-0.8.0-py3-none-any.whl.

File metadata

  • Download URL: pyi18t_tools-0.8.0-py3-none-any.whl
  • Upload date:
  • Size: 90.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for pyi18t_tools-0.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f42c6da6c022e57b5e3c46f31e4cf74d97537e6be5a071a2222ac842658a144d
MD5 e2e90f29ae2c3123af9b80be4f9faf5e
BLAKE2b-256 4d76c914529588fcaed3acb5b9cd8a5471beda700838ee0160fa5b8025583417

See more details on using hashes here.

Release history Release notifications | RSS feed

0.10.0

2 files

0.9.0

2 files

This release

0.8.0 This release

2 files

0.6.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page