Intlayer Message Formatter & Editor
Build, test, and validate type-safe Intlayer content declarations with {{var}} interpolations, t(), plural(), enu(), select(), cond(), and markdown.
Templates18
INTLAYER Editor
Valid Syntax
36 characters1 lines
Test Variables & Live Preview
Adjust variables and switch languages to verify CLDR plural rules
Locale:
Rendered Output (en):
Hello Alex, welcome to Intlayer!
Export to Intlayer Type-Safe Declaration
Intlayer validates translations at compile-time with full TypeScript autocomplete.
Intlayer Message Format Syntax Cheat Sheet
Quick syntax rules and how each pattern maps to Intlayer's type-safe declarations
| Feature | Syntax | Example | Notes | Intlayer Equivalent |
|---|---|---|---|---|
| Variable Interpolation | {{variableName}} | Hello {{name}}! | Double curly braces for dynamic parameter insertion | useIntlayer(key).name or resolveMessage() |
| Multilingual Translation | t({ en: "...", fr: "..." }) | t({ en: "Hello", fr: "Bonjour" }) | Locale-keyed translations with type safety and fallback | t({ [locale]: string }) |
| Pluralization (plural) | plural({ one: "...", other: "..." }) | plural({ one: "1 item", other: "{{count}} items" }) | CLDR cardinal plural rules with automatic count lookup | plural({ [category]: string }) |
| Exact Enumeration (enu) | enu({ 0: "...", 1: "...", fallback: "..." }) | enu({ 0: "Zero", 1: "One", fallback: "{{count}}" }) | Exact numeric matching with fallback for remaining counts | enu({ [number]: string, fallback }) |
| Dynamic Selection (select) | select({ key: "...", fallback: "..." }, "variable") | select({ admin: "Admin", fallback: "User" }, "role") | Branch on any custom string variable discriminator | select({ [key]: string }, variableKey) |
| Gender Agreement (gender) | gender({ male: "...", female: "...", fallback: "..." }) | gender({ male: "He", female: "She", fallback: "They" }) | Grammatical gender concordance with automatic lookup | gender({ male, female, fallback }) |
| Boolean Condition (cond) | cond({ true: "...", false: "..." }) | cond({ true: "Logged In", false: "Guest" }) | Evaluates boolean state conditions | cond({ true: string, false: string }) |
| Markdown Content (md) | md("# ...\n**bold**") | md("# Title\n\n**Bold** {{variable}}") | Rich markdown rendered to React / HTML nodes | md(markdownString) |
| Embedded HTML (html) | html("<tag>...</tag>") | html("<p>Visit <a href=\"/\">home</a></p>") | Embedded safe HTML markup for links and formatting | html(htmlString) |
Intlayer compiler-driven architecture replaces complex runtime message parsing with compile-time type-safety and automated extraction.
Intlayer Ecosystem
Never Worry About Complex Syntax Again
Intlayer turns internationalization into a joyful developer experience with compile-time type-safety, automatic component extraction, and seamless CMS integration.