🤖 A modern, type-safe i18n engine.
npm install intor-translatorA modern i18n engine powered by a customizable, type-safe translation pipeline.
Easy to use, modular at its core, and fully extensible.





- 🔧 Modular Pipeline – A pluggable, hook-driven flow for any translation logic.
- ✨ Typed Autocomplete – Inferred keys and locales with precise, reliable completion.
- 🌐 Framework-Agnostic – A lightweight engine that runs anywhere in JavaScript.
``bashnpm
npm install intor-translator
Or load it directly from a CDN:
`js
import { Translator } from "https://cdn.jsdelivr.net/npm/intor-translator/+esm";
`Quick Start
`typescript
import { Translator } from "intor-translator";const messages = {
en: {
hello: "Hello World",
greeting: "Hello, {name}!", // Use curly braces for replacements
},
};
// Create a translator instance
const translator = new Translator({ messages, locale: "en" });
// Use the translator
translator.t("hello"); // -> Hello World
translator.t("greeting", { name: "John doe" }); // -> Hello, John doe!
``---
Intor Translator is powered by a flexible pipeline that lets you control how translations behave and how they are rendered.
_changing how translations look_.
Handlers operate on the resolved message, use them to:
- format ICU messages
- apply custom plural logic
- post-process output
- style or transform the final string
_changing how translations work_.
Hooks run through the pipeline and can intercept any stage, use them to:
- transform keys or messages
- adjust fallback behavior
- implement loading or missing logic
- attach metadata or analytics
> Together, they form a customizable translation pipeline — structured, predictable, beautifully simple.
---
This module provides a semantic message processing flow for _translated rich-formatted strings_.
- Tokenize → AST → renderer-driven output
- Environment-agnostic by design
Read the documentation: Message Processing ↗
---
_For more advanced usage, see the full examples._
View examples ↗