File checker
Check your translation file.
Check JSON, ICU, i18next, or Flutter ARB structure and preview character usage. No account needed.
Your translation plan
Your results will appear here.
What does the file checker check?
Paste or upload one source file, select its format, and choose the source and target languages. The checker parses the file and shows its messages, detected parameters, and any issues that prevent a translation plan. It supports plain text, flat JSON, nested ICU JSON, i18next JSON v4, Vue I18n JSON, and Flutter ARB.
This form checks one source file. To compare a translation with its source for missing keys and changed placeholders, use the CLI check command or the validate_translations MCP tool. Saved projects also have catalog health reports.
Example: fix an invalid JSON value
For Flat JSON, each value must be a message string. A numeric value such as 3 is rejected. If the intended label is the text “3 items”, put that wording inside a string.
{
"cartLabel": 3
}{
"cartLabel": "3 items"
}Choose Nested ICU JSON for messages that need ICU plurals or nested objects, and Flutter ARB for .arb files with metadata. The format selection determines the rules applied to your file.
Limits and file handling
A plan accepts up to 100,000 UTF-8 bytes and 200 messages. Format-specific limits also apply. Checks are processed on TransLocale’s server and are rate limited. The checker does not save a project or start a translation job, and it does not assess whether the wording is a good translation.
What happens after a successful check?
Use your framework’s guide to connect the application. Bring translated files from your own agent or translator into a project, review them, and prepare a release. If you choose TransLocale’s optional AI translation, review its usage estimate and explicitly approve a character cap first.