intor-translator
v1.4.9
Published
π€ A modern, type-safe i18n engine.
Downloads
2,015
Maintainers
Readme
A modern i18n engine powered by a customizable, type-safe translation pipeline.
Easy to use, modular at its core, and fully extensible.
Features
- π§ 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.
Installation
# npm
npm install intor-translator
# yarn
yarn add intor-translator
# pnpm
pnpm add intor-translatorOr load it directly from a CDN:
import { Translator } from "https://cdn.jsdelivr.net/npm/intor-translator/+esm";Quick Start
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!Handlers & Hooks
Intor Translator is powered by a flexible pipeline that lets you control how translations behave and how they are rendered.
Handlers β format the final output
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
Hooks β shape the translation flow
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.
Rich Message Processing
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 β
