ICU Message Format 검사기
브라우저 처리ICU MessageFormat 문구의 {변수}, plural·select·selectordinal, offset, #, '따옴표' 문법을 해석해 오류를 찾고, 입력한 값으로 실제 문장이 어떻게 나오는지 미리보기를 보여 줍니다.
- 파일·이미지·문서 처리 도구는 브라우저 안에서 처리되더라도 원본에 개인정보나 민감 정보가 포함될 수 있습니다. 공유·제출 전 원본과 결과를 한 번 더 확인하세요.
i18n 라이브러리(FormatJS, i18next ICU, Java·Android)는 '{count, plural, one {# tool} other {# tools} }' 같은 ICU MessageFormat으로 복수형과 성별에 따라 달라지는 문장을 씁니다. 중괄호 하나만 빠져도 앱에서 번역이 깨지므로, 이 도구가 문법을 실제로 해석…
통과: 문제를 찾지 못했습니다. 인수: count (plural), name 미리보기 (ko): 도구 800개를 ToolBada에서 찾았습니다.
ICU Message Format 검사기 사용 가이드
i18n 라이브러리(FormatJS, i18next ICU, Java·Android)는 '{count, plural, one {# tool} other {# tools} }' 같은 ICU MessageFormat으로 복수형과 성별에 따라 달라지는 문장을 씁니다. 중괄호 하나만 빠져도 앱에서 번역이 깨지므로, 이 도구가 문법을 실제로 해석해 위치와 함께 오류를 알려 줍니다.
{이름}, {이름, number, percent}, {이름, date, long} 같은 인수와 plural·selectordinal·select 블록, offset:1, =0 같은 정확한 값 경우, # 자리 표시, '{' 처럼 따옴표로 감싼 글자를 모두 읽습니다. 필수인 other 경우가 빠졌거나, 해당 언어에 없는 복수 범주(한국어의 one 등)를 쓴 경우도 알려 줍니다.
두 번째 칸에 JSON으로 값을 넣으면 그 값으로 문장을 실제로 만들어 미리보기를 보여 주고, 값이 없는 인수와 쓰이지 않은 값을 찾아 줍니다. 문구에 한글이 있으면 한국어, 없으면 영어 복수 규칙을 쓰고 "@locale": "de"처럼 직접 정할 수도 있습니다.
사용 방법
- '입력 A' 칸에 ICU 메시지를 붙여 넣습니다.
- '입력 B' 칸에 {"count": 3, "name": "ToolBada"}처럼 미리볼 값을 JSON으로 넣습니다. 필요하면 "@locale"도 적습니다.
- '실행'을 누르면 오류·경고·참고와 인수 목록, 그리고 미리보기 문장이 나옵니다.
예시: 복수형이 있는 한국어 문구
{count, plural, =0 {도구가 없습니다} other {도구 #개}}를 {name}에서 찾았습니다.
---
{"count":800,"name":"ToolBada"}통과: 문제를 찾지 못했습니다. 인수: count (plural), name 미리보기 (ko): 도구 800개를 ToolBada에서 찾았습니다.
count가 0이면 =0 경우의 '도구가 없습니다'가 쓰입니다.
이럴 때 쓰면 좋아요
- 번역 파일(JSON·properties)의 ICU 문구가 깨지지 않았는지 배포 전에 확인할 때
- 번역가가 보낸 문구에 other 경우가 빠졌는지 점검할 때
- 복수형·성별 분기가 값에 따라 어떻게 나오는지 미리 볼 때
- 한국어처럼 복수형이 없는 언어에서 쓸모없는 one 분기를 정리할 때
문제가 생겼을 때
plural과 select에는 어떤 값에도 맞지 않을 때 쓰는 other 경우가 반드시 있어야 합니다. other {…}를 추가하세요.
ICU에서 '는 특수 문자를 감싸는 기호입니다. 작은따옴표 자체를 쓰려면 it''s처럼 두 번 쓰고, {를 글자로 쓰려면 '{'로 감싸세요.
활용 팁
- # 은 plural 블록 안에서만 숫자로 바뀝니다. offset:1이 있으면 # 은 값에서 1을 뺀 수가 됩니다.
- 한국어에는 one, few 같은 복수 범주가 없어 other만 쓰입니다. =0, =1처럼 정확한 값 경우로 분기하세요.
자주 묻는 질문
아니요. 현재 대부분의 라이브러리가 쓰는 ICU MessageFormat 1 문법을 검사합니다.
"2026-08-28"이나 "2026-08-28T09:00:00Z"처럼 ISO 문자열을 넣으면 {d, date, long} 같은 형식으로 표시합니다.
한 번에 문구 하나를 검사합니다. 여러 문구는 하나씩 붙여 넣거나, 문법 오류가 의심되는 문구만 골라 확인하세요.