A handoff for paired translation files
A coordinator can compare an English resource with a translated copy, review the flagged entries and send a CSV worksheet back to the person maintaining the strings. The JSON report includes both inputs, the comparison scope, all findings and your notes. Neither download is a replacement translation resource.
Read the findings in context
Missing and extra keys describe literal differences between the supplied objects. A blank translation needs attention. An identical source and translation may be correct for a name or code, so it is a review prompt. A structure finding means an object became a string or the reverse. Paths use JSON pointer escaping: ~1 means a slash in a key and ~0 means a tilde.
The optional expression check compares the complete contents of {{expression}}, including formatting or an escape marker, while allowing expression order to change. This is a literal comparison. It does not validate translation quality, locale-specific plural keys, ICU messages, nesting references, custom interpolation rules or your application's runtime behavior. Language files can legitimately use different plural forms; review structural differences with your project conventions.
Example: a translator's return
The English / Tamil example preserves the welcome name expression, omits a cancel label, loses a count expression, leaves one value blank and keeps the brand name unchanged. The worksheet separates these observations so a reviewer can decide what needs correction.
Local inputs and downloaded reports
Files are read in this browser tab. This tool does not send or store your strings on a server or save them in browser storage. Closing or refreshing the tab clears your work. Downloaded reports contain the supplied text and your notes; share them only with the intended reviewer. The CSV prefixes formula-like cells with an apostrophe for spreadsheet handling; the JSON report retains the exact original strings.