If your game uses CSV translation tables, a filled target cell does not always mean it is ready for the next release.
For example:
| Key | Previous English | Current English | French target |
|---|---|---|---|
| menu.shop | Shop | Item shop | Boutique |
The French target has not changed. That may be intentional: the point is to review it beside the edited source, rather than automatically calling it a bad translation. A missing-cell check alone cannot flag this source-change review.
A small release checklist:
- Keep stable, unique keys. Save the previous-release table before changing source text.
- Check empty cells and placeholders. Compare names and counts. Named placeholders may move; order-sensitive formatting needs separate attention.
- Compare releases. Review added/removed keys and source edits, then check unchanged targets beside changed source text.
- Separate errors from review warnings. Identical text, longer translations and unchanged targets can be valid. Give a translator the context.
- Test inside Godot. Check font coverage, text expansion, plurals and layout in the actual game. CSV checks cannot measure rendered pixel width or certify re-import. Pseudolocalisation is a stress test, not a translation.
Free resource: LocaleLedger Lite checks up to 300 rows of wide CSV locally in a desktop browser. The page includes synthetic sample data, a blank CSV template, a release starter ZIP and a practical checklist. No account or API key is needed to use it.
Commercial disclosure: LocaleLedger is the product being offered from this account. The optional LocaleLedger Pro is $12 USD once, plus applicable taxes, with a one-studio commercial licence. It adds previous/current release comparison, locale-root JSON import, CSV/JSON report exports, pseudolocalisation and an optional Node.js CLI.
This is an independent HTML/JavaScript utility, not a Godot addon or an engine endorsement. It does not judge linguistic quality. ICU plural/select and nested message formats need specialised review. Original code, documentation, this post and promotional graphics were AI-assisted.