ferrocat
Public umbrella crate for the ferrocat workspace.
Ferrocat is a Rust-native translation catalog engine. It gives applications and host-language adapters one place to parse, update, audit, validate, and compile translation catalogs into runtime-ready data.
Add it with:
It re-exports the stable Rust API from ferrocat-po and ferrocat-icu.
Use the umbrella crate when you want one dependency for the full catalog workflow:
- translator-friendly catalog parsing and serialization
- deterministic catalog updates and combination
- release QA through structured audit reports
- rich-message diagnostics for placeholders, plural/select logic, formatters, and tags
- host-neutral runtime artifact compilation
At the catalog layer, ferrocat supports three explicit modes:
- classic Gettext catalog mode: Gettext PO + gettext-compatible plurals
- ICU-native Gettext PO mode: Gettext PO + ICU MessageFormat
- ICU-native NDJSON catalog mode: NDJSON catalog storage + ICU MessageFormat
NDJSON + gettext-compatible plurals is intentionally unsupported.
Repository, docs, and contribution guidelines: