# Locale File Checker | Catch missing keys and changed placeholders

Translations breaking at runtime? Compare resource keys, placeholders and basic ICU message structure before release. Check locally in your browser. No upload.

Canonical: https://tamperbox.dev/locale-file-checker

Docs: https://docs.tamperbox.dev/tools/locale-file-checker.md

Updated: 2026-10-26

Reviewed: 2026-10-26

## How it works

Locale File Checker reads source resource locally and presents findings with the evidence behind them. A synthetic French resource changes a placeholder and omits the Continue button. The full method, every rule and worked examples are on [docs.tamperbox.dev](https://docs.tamperbox.dev/tools/locale-file-checker/).

## Limits and interpretation

Checks are lexical, not a full ICU parser or translation review. Plural-category requirements, PO locale plural formulas and XLIFF schema conformance are not validated. Inputs are limited to 1,000,000 characters per field. Nothing is fetched from addresses embedded in input. Explicit copies and downloads are under your control.

## Frequently asked questions

### Is my input uploaded?

No. Parsing and output generation run in your browser. Source values are not sent to a server.

### What does the opening example demonstrate?

A synthetic French resource changes a placeholder and omits the Continue button. It is synthetic data. Replace it with your own input to inspect a different case.

### Does a passing result prove my application works?

No. Checks are lexical, not a full ICU parser or translation review. Plural-category requirements, PO locale plural formulas and XLIFF schema conformance are not validated. Verify the result in your test environment before relying on it.

## References

- [Primary format and behavior reference](https://unicode-org.github.io/icu/userguide/format_parse/messages/).
