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 ✅ Delivered
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.9.0.tar.gz (88.1 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.9.0-py3-none-any.whl (97.6 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for pyi18t_tools-0.9.0.tar.gz
Algorithm Hash digest
SHA256 a4942e7b6c934fb13f55b41ed9bcf5c8d55d5d68eafa9a5a2289e5df7d8884c9
MD5 07af2ca99f09bf97ca2b0d32f5423199
BLAKE2b-256 6eb0aa6803cb19885d21b1a5bdcee7c7dc40deef9f9158d65fb650b06b801c50

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for pyi18t_tools-0.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 837ec8da64b15cab618512746df2afd5acfec535738f71eb5a580434ad0618bf
MD5 809c5629797fcf38e4102d071359a519
BLAKE2b-256 ce38615a71e88d37bbe62d567d6725305d14148115d4442a27b0c4040355ba78

See more details on using hashes here.

Release history Release notifications | RSS feed

0.10.0

2 files

This release

0.9.0 This release

2 files

0.8.0

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