# astilba ## Docs - [The canonical model](https://docs.astilba.com/concepts/canonical-model.md): The syntax-agnostic message representation every adapter maps to and from, and the invariants it holds. - [Round-trip fidelity](https://docs.astilba.com/concepts/fidelity.md): Why astilba defines lossless on resolved t() output, not file bytes, and how the harness proves it. - [MT masking](https://docs.astilba.com/concepts/masking.md): How astilba protects placeholders and markup through a machine-translation call, and validates they came back unmodified. - [CLDR plural rules](https://docs.astilba.com/concepts/plural-rules.md): Why astilba vendors its own plural table instead of using Intl.PluralRules, which languages it covers, and how it falls back. - [Introduction](https://docs.astilba.com/index.md): An open, self-hostable i18next translation-management system. Today, that means the @astilba/core fidelity engine. - [Quickstart](https://docs.astilba.com/quickstart.md): Install @astilba/core and use the vendored CLDR plural rules and MT masking utilities. - [i18next-v4 adapter](https://docs.astilba.com/reference/adapter-i18next.md): The native i18next-v4 syntax adapter that lives in the astilba repo and drives the test suite. Not yet published as its own package. - [@astilba/core API](https://docs.astilba.com/reference/core-api.md): The published surface of @astilba/core: the canonical model, vendored CLDR plural rules, AstilbaError, the round-trip driver and contracts, and MT masking. ## Optional - [GitHub](https://github.com/astilbahq/astilba) - [npm](https://www.npmjs.com/package/@astilba/core)