Problem
stringlift apply writes a translated copy immediately. Before trusting it on a large codebase, it helps to see what would change.
Proposal
Add a read-only --report flag that prints, per file, the strings that would be replaced and their translations — without writing anything.
Acceptance criteria
stringlift apply <dir> --glossary map.json --report writes nothing.
- Output lists, per file, each
source string -> translation.
- Strings missing from the glossary are shown as skipped.
Pointers
src/apply.mjs already computes every replacement; report mode can reuse extract() + the glossary lookup and just print instead of writing.
- Good first issue: no changes to extraction or verification logic.
Problem
stringlift applywrites a translated copy immediately. Before trusting it on a large codebase, it helps to see what would change.Proposal
Add a read-only
--reportflag that prints, per file, the strings that would be replaced and their translations — without writing anything.Acceptance criteria
stringlift apply <dir> --glossary map.json --reportwrites nothing.source string -> translation.Pointers
src/apply.mjsalready computes every replacement; report mode can reuseextract()+ the glossary lookup and just print instead of writing.