Free Tool

    Vue I18n Message Formatter & Editor

    Build and test Vue I18n translation messages with pipe pluralization (0 | 1 | other), named formatting {name}, and linked messages @:key.

    Templates10
    VUE-I18N Editor
    Valid Syntax
    34 characters1 lines

    Test Variables & Live Preview

    Adjust variables and switch languages to verify CLDR plural rules

    Locale:
    Rendered Output (en):
    Hello Lucas, welcome to Vue i18n!
    Export to Intlayer Type-Safe Declaration
    import { type Dictionary } from 'intlayer';const convertedMessageContent = {  key: 'converted-message',  content: 'Hello {{name}}, welcome to Vue i18n!',} satisfies Dictionary;export default convertedMessageContent;
    Intlayer validates translations at compile-time with full TypeScript autocomplete.

    Vue I18n Syntax Cheat Sheet

    Quick syntax rules and how each pattern maps to Intlayer's type-safe declarations

    FeatureSyntaxExampleNotesIntlayer Equivalent
    Named Formatting{variableName}Hello {name}!Single braces for named parameters{{name}}
    List Formatting{0}, {1}, ...Hello {0} and {1}Index-based positional arguments{{0}} or named variables
    Pipe Pluralizationno items | 1 item | {n} itemsno apples | 1 apple | {n} applesPipes separate 0, 1, and plural formsplural({ 0: "no apples", 1: "1 apple", other: "{{count}} apples" })
    Linked Messages@:path.to.messageHome of @:brand.nameReferences other messages in the dictionaryTypeScript object references
    Literal Interpolation{'literal'}{'hello'} {name}Single-quoted literal inside bracesLiteral strings
    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.