ferrocat-po 0.9.0

Performance-first PO parsing, serialization, and catalog update primitives for ferrocat.
Documentation
# ferrocat-po

Performance-first Gettext PO parsing, serialization, merge helpers, and high-level catalog workflows for `ferrocat`.

Add it with:

```bash
cargo add ferrocat-po
```

This crate covers both the low-level Gettext PO surface and the higher-level catalog layer.

At the catalog layer, it 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.

Use this crate when you want that surface directly:

- `parse_po` / `parse_po_borrowed` for raw Gettext PO parsing
- `stringify_po` for Gettext PO serialization
- `merge_catalog` for lightweight gettext-style merges
- `parse_catalog`, `update_catalog`, and `NormalizedParsedCatalog::compile` for higher-level catalog workflows across Gettext PO and NDJSON storage
- `compile_catalog_artifact` for requested-locale runtime artifacts with fallback resolution and missing reports
- `compile_catalog_artifact_selected` for selected compiled-ID subsets of those runtime artifacts

If you want the umbrella dependency instead, use [`ferrocat`](https://docs.rs/ferrocat).