Metadata-Version: 2.4
Name: rulestamp-i18n-fr-ca-bill96-lint
Version: 1.0.4
Summary: Finds the France-French and left-over English lines in your fr-CA locale file before an OQLF complaint does. (bundled Node.js runtime)
Author-email: Rulestamp <support@getreadystack.com>
License: Proprietary - see LICENSE.txt
Project-URL: Homepage, https://getreadystack.com/tools/i18n-fr-ca-bill96-lint?ref=pypi
Project-URL: Documentation, https://getreadystack.com/tools/i18n-fr-ca-bill96-lint?ref=pypi
Project-URL: Support, https://getreadystack.com/support
Keywords: i18n,localization,fr-CA,quebec,bill-96,oqlf,french,linter
Classifier: Programming Language :: Python :: 3
Classifier: Environment :: Console
Classifier: Topic :: Software Development :: Quality Assurance
Classifier: Operating System :: OS Independent
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE.txt
Requires-Dist: nodejs-wheel-binaries>=20
Dynamic: license-file

# i18n fr-CA Lint — Quebec Bill 96

> Runs the same checker as our npm package on a Node.js runtime that pip installs for you (`nodejs-wheel-binaries`) - no system Node.js needed. Your files are checked locally.

![i18n fr-CA Lint — Quebec Bill 96 — finds the line](https://getreadystack.com/img/promo/i18n-fr-ca-bill96-lint_demo.gif)

![i18n fr-CA Lint — Quebec Bill 96](https://getreadystack.com/img/promo/sku150649_result_card.jpg)

Finds the France-French and left-over English lines in your fr-CA locale file before an OQLF complaint does.

## Install

```
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.

```
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:

```json
{ "mcpServers": { "i18n-fr-ca-bill96-lint": { "command": "i18n-fr-ca-bill96-lint", "args": ["--mcp"] } } }
```

Tools: `check_text` and `check_file` (free) · `check_dir` (licence). The agent gets every finding with the line number.

## Use in CI

```yaml
- name: i18n fr-CA Lint — Quebec Bill 96
  run: pip install rulestamp-i18n-fr-ca-bill96-lint && i18n-fr-ca-bill96-lint --dir . --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](https://getreadystack.com/api/buy/cl/polar_cl_Y5cWABRkmxDgVdi4iAzT8S7r6r9j1U7fX036H3VfCQU)


<!-- i18n fr ca bill96 lint -->


## Install (PyPI)

```
pip install rulestamp-i18n-fr-ca-bill96-lint
i18n-fr-ca-bill96-lint --help
```
