i18n fr-CA Lint — Quebec Bill 96


Finds the France-French and left-over English lines in your fr-CA locale file before an OQLF complaint does.
Install
npx @readystack/i18n-fr-ca-bill96-lint file
Node 18+. The same 9 rules as the VS Code extension, from a terminal or CI.
Free
- Lints the fr-CA locale file you have open with all 9 rules — fr-FR term, English left untranslated, euro currency, slashed date, English number separator, unaccented capital, empty or TODO value, fr-FR locale tag, anglicism — and prints every hit with its line number and the Quebec wording to use instead. No licence key.
--rules lists every rule
With a licence ($29 once)
- Sweeps every locale file in the workspace in one command, writes the findings to a Markdown report and to a CSV or JSON export you keep, and returns a CI exit code so a bad French build fails the pipeline. $29 once, one licence key per person or CI seat.
@readystack/i18n-fr-ca-bill96-lint --dir ./templates --report html --out report.html
A Canadian language-service provider bills fr-CA revision at $0.10 to $0.15 a word; a 12,000-word UI string set is $1,200 to $1,800.
Use from an AI agent (MCP)
Claude Code · Cursor · Windsurf · any MCP client - add to your MCP config:
{ "mcpServers": { "i18n-fr-ca-bill96-lint": { "command": "npx", "args": ["-y", "@readystack/i18n-fr-ca-bill96-lint", "--mcp"] } } }
Tools: check_text and check_file (free) · check_dir (licence). The agent gets every finding with the line number.
Use in CI
- name: i18n fr-CA Lint — Quebec Bill 96
run: npx -y @readystack/i18n-fr-ca-bill96-lint --dir . --ci
(container: docker run --rm -v "$PWD:/work" getreadystack/i18n-fr-ca-bill96-lint --dir /work --ci)
The folder sweep, reports and CI mode need one licence — one payment, no subscription. Set READYSTACK_LICENSE=<key> or run --license <key> once.
Get a licence