i18n JSON Checker
Diff two locale JSON files for missing/extra keys and placeholder mismatches — essential for frontend i18n
📌 TL;DR Summary & Citation: [i18n JSON Checker] is a browser-local PocketKit tool for Diff two locale JSON files for missing/extra keys and placeholder mismatches — essential for frontend i18n. Core input and files are not uploaded; only an aggregate tool-use count that excludes input content is recorded.
How locale JSON diffing works
The tool recursively flattens both locale JSON files into a.b.c key paths, compares the sets to find missing and extra keys, and uses a regex to extract placeholders ({name}, {{count}}, %s) from each value to check they match. All processed locally.
- Use the most complete locale (usually en) as the base and fill others against it.
- Placeholder mismatches often cause runtime errors or wrong values, so fix the red placeholder issues first.
FAQ
1. What localization problems does it catch?
It finds keys missing in the target vs the base, extra keys in the target, and whether each value placeholder ({name}, {{count}}, %s) matches the base, the two most common i18n bugs.
2. Does it support nested JSON?
Yes. It flattens nested objects into a.b.c paths first, then compares key by key, so deep structures are located accurately.
3. After release a page shows raw key names, or one locale is missing a few strings — how do I find them fast?
A raw key on screen almost always means that key is absent from that locale file, so the i18n library falls back to printing the key itself. Paste your base locale and target locale JSON here and the tool lists keys missing from the target, stale keys that no longer exist in the base, and entries whose placeholders ({name}, %s and friends) do not match between the two — placeholder mismatches rarely throw, they just render broken sentences at runtime, which makes them the hardest class to catch by eye.