무료 도구

    ICU 메시지 포맷터 및 편집기

    실시간 미리보기, 100개 이상의 템플릿, 다국어 CLDR 복수형 유효성 검사를 통해 ICU MessageFormat 문자열을 빌드, 테스트 및 검증하세요.

    템플릿50
    ICU 편집기
    유효한 구문
    14 1

    테스트 변수 및 실시간 미리보기

    변수를 조정하고 언어를 전환하여 CLDR 복수형 규칙을 확인하세요

    로케일:
    렌더링된 출력 (en):
    Hello, Alex!
    Intlayer 타입 안전 선언으로 내보내기
    import { type Dictionary } from 'intlayer';const convertedMessageContent = {  key: 'converted-message',  content: 'Hello, {{name}}!',} satisfies Dictionary;export default convertedMessageContent;
    Intlayer는 완벽한 TypeScript 자동 완성을 통해 컴파일 타임에 번역을 검증합니다.

    ICU MessageFormat Syntax Cheat Sheet

    빠른 구문 규칙 및 각 패턴이 Intlayer의 타입 안전 선언에 매핑되는 방법

    기능구문예시참고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
    Intlayer의 컴파일러 기반 아키텍처는 복잡한 런타임 구문 분석을 컴파일 타임 타입 안전성과 자동 추출로 대체합니다.
    Intlayer 생태계

    복잡한 구문에 대해 더 이상 걱정하지 마세요

    Intlayer는 컴파일 타임 타입 안정성, 자동 컴포넌트 추출 및 완벽한 CMS 통합을 통해 국제화를 즐거운 개발 경험으로 바꿉니다.