Free CopyDoc tool

Catch broken plurals and placeholders before localization ships.

Compare source and translated ICU messages for balanced braces, argument names, plural, select and selectordinal structures, missing other branches, pound usage, apostrophe quoting, and placeholder differences.

Use the free tool
  • No signup
  • Free to use
  • An ICU message syntax and source-target comparison report

Free browser tool

ICU MessageFormat validator

Message strings are parsed locally and are not sent to Hypermatic.

Paste a source ICU message and, optionally, its translated version.

This is a structural browser preflight. Compile the final strings with the exact ICU or MessageFormat library used in production.

Managing copy across real designs?

Sync, localize, and update Figma content at scale with CopyDoc.

This free tool checks one content or localization input. CopyDoc handles the recurring production workflow across Figma designs, spreadsheets, localization files, variables, images, styles, and layouts.

CopyDoc

コピー

Stop manual text updates.

Export, import, localize, and sync text, images, styles, and layouts across Figma designs.

126k+ installs

How it works

From input to useful result in three steps.

  1. 1

    Paste the source ICU message and an optional translated version.

  2. 2

    Inspect argument names, nested plural or select structures, other branches, brace balance, and source-target differences.

  3. 3

    Correct the localization file and validate it again in the application’s actual MessageFormat implementation.

Questions

ICU MessageFormat validator FAQ

Does this compile the message with ICU?

No. It performs an explainable structural preflight in the browser. The application’s ICU or MessageFormat library remains the final parser.

Can it compare source and translated placeholders?

Yes. It reports argument names missing from either version and flags structural differences that commonly break localized messages.

Is the icu messageformat validator free?

Yes. You can use it without an account or signup. The focused result is generated directly in your browser.

Free practical guide

How to use a icu messageformat validator

Compare source and translated ICU messages for balanced braces, argument names, plural, select and selectordinal structures, missing other branches, pound usage, apostrophe quoting, and placeholder differences. This guide explains what the result means, how to avoid the most common interpretation mistakes, and when the related CopyDoc workflow becomes the more practical next step.

Quick answer

Paste the source ICU message and an optional translated version. Inspect argument names, nested plural or select structures, other branches, brace balance, and source-target differences. Correct the localization file and validate it again in the application’s actual MessageFormat implementation. The tool is free to use without an account, and message strings are parsed locally and are not sent to Hypermatic.

What does the icu messageformat validator do?

Compare source and translated ICU messages for balanced braces, argument names, plural, select and selectordinal structures, missing other branches, pound usage, apostrophe quoting, and placeholder differences. The immediate result is an ICU message syntax and source-target comparison report. That makes the tool useful when a focused question needs an answer before a file is handed off, a campaign is trafficked, or a production workflow begins.

The scope is intentionally narrow. It is designed for checking one set of strings, localization files, or copy constraints, not for replacing the complete production process. A useful result should make the next decision clearer while leaving the original file, design, or workflow under the user’s control.

Message strings are parsed locally and are not sent to Hypermatic. Local processing reduces unnecessary data exposure, but it does not remove the need to follow the privacy, confidentiality, and retention requirements that apply to the source material.

How should the icu messageformat validator be used?

Start with the same input that will be used in production whenever possible. Draft content, substitute files, and approximate dimensions can be useful during exploration, but the final check should use the actual export, final copy, destination, or supported range.

Work through the steps in order and keep the generated result beside the source. If the result identifies a warning, decide whether it is a real production problem, an acceptable tradeoff, or a limitation of a browser-based inspection before changing the underlying work.

  • Paste the source ICU message and an optional translated version.
  • Inspect argument names, nested plural or select structures, other branches, brace balance, and source-target differences.
  • Correct the localization file and validate it again in the application’s actual MessageFormat implementation.

How should the result be interpreted?

A browser tool can make measurable signals visible, but it cannot reproduce every application, platform, rendering engine, policy, or team constraint. Treat the report as evidence for a decision rather than a universal guarantee. The strongest verification is the source content system, linguistic review, runtime placeholders, and the final Figma layouts.

Pay particular attention to edge cases that are easy to miss during a quick check: unusual fonts, long or localized content, hidden metadata, external dependencies, different aspect ratios, browser-specific behavior, and last-minute source changes. Re-run the tool whenever the production input changes materially.

  • Keep complete sentences inside plural and select branches so translators can reorder them.
  • Every plural and select structure needs a safe other branch.
  • Runtime libraries differ in supported syntax and apostrophe handling, so test the production parser too.

Common questions about icu messageformat validator

Does this compile the message with ICU? No. It performs an explainable structural preflight in the browser. The application’s ICU or MessageFormat library remains the final parser.

Can it compare source and translated placeholders? Yes. It reports argument names missing from either version and flags structural differences that commonly break localized messages.

Is the icu messageformat validator free? Yes. You can use it without an account or signup. The focused result is generated directly in your browser.

When does CopyDoc become the better workflow?

The free tool is the right choice for a quick individual check, calculation, preview, or template. It remains useful even if the task only occurs once and no broader production workflow is needed.

CopyDoc becomes more practical when the same job turns into syncing, localizing, importing, and updating content across complete Figma designs. At that point, keeping the work close to the Figma source reduces repeated exports, copy-and-paste steps, inconsistent decisions, and handoff drift.

Before adopting any workflow, compare the time spent on the recurring manual process with the setup and review required by the tool. The goal is not to add another application; it is to remove repetitive work while preserving the quality checks that still need human judgment.