
French at parity, as section 52 of the Charter asks
Quebec
A French and English store built for Quebec: French at parity as the Charter requires, a Law 25 consent banner with the privacy officer named, and a workflow that keeps the French as complete as the English after launch.
Plan the French StoreThe Charter, in plain words
1 June 2022 Bill 96 assented
Section 52 of the Charter of the French language requires catalogs and similar publications, websites included, to be in French. A version in another language may exist only if the French one is available on terms at least as favourable.
Bill 96, assented on 1 June 2022, added section 50.2: a business must respect a consumer's right to be informed and served in French, and must inform and serve a public other than consumers in French too, so a B2B store is inside the rule.
The fine for a company runs from CAD 3,000 to 30,000 per offence, with higher ranges for repeat offences, and the OQLF acts on complaints from the public.
Does this sound familiar?
Parity is judged on the whole store, not the home page. These are the places it slips.

Names and descriptions translated, attribute labels, size charts and filters left in English. Section 52 reads the catalog as a whole, and so does a customer.

New products, promotions and banners go live in English on Monday and reach French on Friday, or never. Parity means the same content on the same terms, not eventually.

The storefront is bilingual and the order confirmation, the invoice and the shipping notice arrive in English. The transaction is part of the service, and the law reads it that way.

A French visitor types chandail and finds nothing, because the search index was built on English attributes. Filters and sorting fail the same way.

Law 25 requires technology that identifies, locates or profiles a visitor to be disclosed and left off by default. A banner that loads the tags first and asks second fails that test.

The title and contact details of the person in charge of personal information belong on the site, and the privacy policy has to be clear and in French. Both are missing more often than not.
What the build includes

Two store views on one website and one admin, sharing the catalog, prices and orders, with French as the default for visitors from Quebec.

Every new product, page and banner opens a French task with a shared glossary and a review step, and nothing publishes in one language only.

Terms, privacy policy, returns, order and shipping emails and the PDF invoice in both languages, chosen by the customer's store view.

Attribute labels and option values translated so that search, layered navigation and sorting work in French as well as they do in English.

A consent banner with tracking off until the visitor agrees, a privacy policy in both languages, and the officer's title and contact details published.

A report of every English string, page and email without a French counterpart, run before each deploy and sent to whoever owns the French.
How a Quebec build runs
Plainly
3 languages on a storefront we rebuilt
We build the structure and the workflow. We do not write your French, and we say so: the copy comes from your own team or a professional translator you approve, and it is reviewed on staging before it goes live. What we guarantee is that nothing can publish in one language only, and that the French is as easy to reach as the English.
We have done the multilingual part before. Farmasi sells from a storefront we rebuilt in English, Spanish and French, and Clean Harbors orders across the US and Canada on a Magento PWA we built. Both are case studies on this site.
We have no office in Canada, and our working day overlaps the Eastern business day. Contracts and support are in English. Nothing on this page is legal advice: the Charter and Law 25 are read for you by your counsel, and built for you by us.
Pick the depth
For a store that already sells into Quebec and has to catch up: the gap audit, the fr_CA store view at parity, bilingual legal pages, emails and invoices, the Law 25 consent banner and the privacy officer page, and the parity check that keeps it that way.
The whole Canadian build: provincial tax by delivery address, Canadian carriers and gateways, French and English store views and QA per province, for a store that sells across the country and not only into Quebec.
For a distributor: company accounts, shared catalogs and customer pricing on Adobe Commerce, with a website per tax and currency regime, fr_CA and en_CA store views on it, and your ERP connected in both directions.
Trusted by 100+ companies
Keep reading



FAQ
Tell us about your store and we will come back with straight answers.
Talk to usSection 52 of the Charter of the French language requires catalogs, brochures and similar publications, which the Office québécois de la langue française reads to include websites, to be in French, with any other version available only on terms at least as favourable. How far that reaches a merchant with no establishment in Quebec is a question for your counsel. This is general information, not legal advice.
Yes. Section 50.2, added by Bill 96 and in force since its assent on 1 June 2022, requires a business to inform and serve a public other than consumers in French as well, so a business-to-business store, its account area, its quotes and its invoices are inside the rule. This is not legal advice.
In practice it means the French version carries the same products, content and functions as the English, at the same time, and is as easy to reach: French as the default for Quebec visitors rather than a link in the footer, the same checkout, the same emails, the same search. A French site that launches a product a week after the English, or that hides a feature, is not at parity.
Under section 205 of the Charter as amended by Bill 96, a company faces a fine of CAD 3,000 to 30,000 per offence, with higher ranges for a second or subsequent offence, and the Office québécois de la langue française acts on complaints from the public. Separately, Law 25's administrative penalties run up to CAD 10 million or 2 percent of worldwide turnover. This is not legal advice.
A person in charge of personal information, with their title and contact details published on the site; a privacy policy in clear terms, with customers told when it changes; technology that identifies, locates or profiles a visitor disclosed in advance and left off until the visitor activates it; a privacy impact assessment before personal information leaves Quebec, which includes most hosted analytics; and, since 22 September 2024, a copy of a customer's data in a structured format on request. This is not legal advice.
The duty to ship privacy settings at their most private by default excludes browser cookies by its own words, but technology that identifies, locates or profiles a visitor has to be disclosed and left for the visitor to switch on. In practice that means analytics and advertising tags wait for consent, the banner says what each one does, and the privacy policy matches. Whether a given tag profiles is a question for your counsel. This is not legal advice.
Your own team or a professional translator you approve. We do not write French copy and we would rather say so than deliver machine translation under another name. What we build is the structure around it: the glossary, the translation tasks that open with every new product or page, the review step on staging, and the parity check that stops anything publishing in one language only.
Two mechanisms. The workflow opens a French task for every new product, page, banner and email template, so an English change always has a French counterpart in progress. The parity check runs before every release and lists any string, page or email still in one language, and the release waits until the list is empty or someone signs off the exception.
Yes. The fr_CA and en_CA store views sit on one website with one catalog, one set of prices and one admin, and a visitor from Quebec lands on the French view by default with a switch to English. Provincial tax, carriers and payment are configured once at website level, so the second language adds content, not a second store.
Both. On Magento and Adobe Commerce the structure is a store view per language on one website. On Shopify it is the platform's translation and markets tooling with French set as the default for Quebec. The mechanics differ; the duties under the Charter and Law 25 do not, and the workflow and the parity check are built for either.
It affects the products themselves. Since 1 June 2025, generic or descriptive words inside a trademark must also appear in French on the product or on something permanently attached to it, with a transition to 1 June 2027 for products made before that date under conditions the regulation sets. Product pages were already covered by section 52, so the descriptions, attributes and images on them are in French regardless. This is not legal advice.
The gap audit takes a week or two. A store that already has the right structure and only needs the workflow, the consent banner and the missing content is a matter of weeks. A store that needs store views, a rebuilt search index, bilingual emails and invoices and the privacy pages from scratch is a few months, and the plan you receive after the audit carries dates for your store rather than an average.
Individually, after the gap audit, because the size of the list decides the size of the work. There is no price list on this site. You receive the gap list, the store-view and workflow plan, and an estimate against each item, so the number is attached to a scope you can read.
Yes, and most Quebec work starts that way. The gap audit reads the store as it is, in both languages, and the report says what is sound, what is missing and what it would take. Where the structure is right and only the content lags, the fix is the workflow and the translations; where the structure is wrong, the report says so with the numbers.
Let’s build something great together!
Send the store URL and tell us who owns your French today. You get the gap list, the store-view and workflow plan, and an estimate against each item.