ferrocat 0.13.0

Rust-first gettext and ICU toolkit for PO parsing, catalog updates, and MessageFormat parsing.
Documentation

ferrocat

crates.io docs.rs

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:

cargo add ferrocat

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
  • AI translation metadata for machine-generated entries, including stale-metadata cleanup after manual edits
  • 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: