Darmowe narzędzie

    Edytor i formatowanie wiadomości ICU

    Twórz, testuj i weryfikuj ciągi ICU MessageFormat z podglądem na żywo, ponad 100 szablonami i walidacją liczb mnogich CLDR.

    Szablony50
    ICU Edytor
    Prawidłowa składnia
    14 znaków1 wierszy

    Zmienne testowe i podgląd na żywo

    Dostosuj zmienne i zmień język, aby zweryfikować reguły CLDR

    Język:
    Wygenerowany wynik (en):
    Hello, Alex!
    Eksportuj do deklaracji Intlayer z kontrolą typów
    import { type Dictionary } from 'intlayer';const convertedMessageContent = {  key: 'converted-message',  content: 'Hello, {{name}}!',} satisfies Dictionary;export default convertedMessageContent;
    Intlayer sprawdza poprawność tłumaczeń w czasie kompilacji z pełnym autouzupełnianiem TypeScript.

    ICU MessageFormat Syntax Cheat Sheet

    Szybkie reguły składni i mapowanie wzorców na deklaracje Intlayer

    FunkcjaSkładniaPrzykładUwagiOdpowiednik w Intlayer
    Simple Variable{variableName}Hello {name}!Alphanumeric names, single brackets{{name}}
    Pluralization{count, plural, one {...} other {...}}{n, plural, one {# item} other {# items}}Requires "other". # is replaced by count.plural({ one: "1 item", other: "{{count}} items" })
    Exact Match Plural=0 {...} =1 {...}{n, plural, =0 {None} one {#} other {#}}Takes precedence over CLDR keywordsenu({ 0: "None", 1: "1", fallback: "{{count}}" })
    Select (Context/Gender){key, select, choice1 {...} other {...}}{gender, select, male {He} other {They}}Case-sensitive exact string comparisonselect({ male: "He", fallback: "They" }, "gender")
    Selectordinal{rank, selectordinal, one {#st} other {#th}}{pos, selectordinal, one {#st} two {#nd} other {#th}}Ordinal suffix rules per CLDRenu({ 1: "1st", 2: "2nd", fallback: "{{pos}}th" })
    Number Formatting{val, number, [style]}{price, number, currency}Supports percent, currency, integer stylesIntl.NumberFormat or type-safe formatting
    Escaping'{' and '' for apostrophesDon''t '{'escape'}'Single quotes escape literal blocks, '' escapes quoteLiteral strings naturally supported
    Architektura Intlayer oparta na kompilatorze zastępuje złożone parsowanie w czasie wykonywania bezpieczeństwem typów w czasie kompilacji.
    Ekosystem Intlayer

    Nigdy więcej nie martw się skomplikowaną składnią

    Intlayer zmienia internacjonalizację w przyjemne doświadczenie programistyczne dzięki bezpieczeństwu typów w czasie kompilacji, automatycznej ekstrakcji i integracji z CMS.