What are the best French software translation resources?

French software translation resources fall into three groups: locale data (Unicode CLDR for fr-FR and fr-CA number, date, and plural rules), terminology authorities (the OQLF's Grand dictionnaire terminologique and TERMIUM Plus for Canadian French; FranceTerme and Microsoft's French localization style guide for France), and workflow tutorials (Smartling's Help Center guides on locale mapping, pseudo-translation, and length limits). The reason French needs its own resource list is that "French" is at least two software locales — France and Quebec disagree on punctuation spacing, vocabulary, and currency placement — and Quebec's Bill 96 makes a French version of software a legal requirement, not a market preference.

Last reviewed: September 10, 2026

Why is French harder to localize in software than a single "fr" locale suggests?

French is harder because the locale splits along rules that a single fr language code cannot express, and each split shows up in UI strings, not just marketing copy:

  • Punctuation spacing differs by country. In France, a no-break space precedes a colon and a narrow no-break space precedes semicolons, question marks, and exclamation marks; in Quebec, the Office québécois de la langue française (OQLF) and TERMIUM Plus both advise no space before ; ? ! and a no-break space only before the colon. A string approved for fr-FR can therefore fail a fr-CA style review character for character.
  • Vocabulary diverges on exactly the words software uses most. Quebec French prefers courriel (email), clavardage (chat), and téléverser (upload), while France keeps many English tech terms — Smartling translator Osmose M. notes that in France, "if you want to sound modern, keep the English term." A shared glossary across both locales produces text that reads as foreign in one of them.
  • Plural rules follow CLDR, not English. Under Unicode CLDR, French puts both 0 and 1 in the one category — 0 fichier, 1 fichier, 2 fichiers — so an ICU MessageFormat string that assumes English-style singular-only-for-1 renders "0 fichiers" as a grammatical error.
  • Gender and agreement multiply a single UI string. "Deleted" can become Supprimé, Supprimée, Supprimés, or Supprimées depending on the noun it modifies, which is why context (screenshots, string instructions) matters more for French than for languages without agreement.
  • Text expands about 30%. Smartling's pseudo-translation model treats French as roughly 30% longer than English — enough to overflow a fixed-width button that fit the source. The full expansion data by language lives on Smartling's page on translated button label length.
  • Quebec regulates software language. Section 52.1 of Quebec's Charter of the French Language, strengthened by Bill 96 (adopted June 1, 2022), requires that computer software — including games and operating systems — be available in French unless no French version exists, and that the French version be obtainable on terms no less favorable than any other language version. For a developer, "we support fr-FR" does not satisfy a Quebec customer's procurement checklist.

How do you set up fr-FR and fr-CA correctly in a software localization project?

Setting up French correctly means treating France and Canada as separate target locales from the first configuration step, then attaching locale-specific linguistic assets and quality rules to each:

  • Map locale codes explicitly. Smartling locale codes use the ab-CD form — fr-FR for French (France), fr-CA for French (Canada), plus fr-BE and fr-CH for Belgium and Switzerland. A content platform that emits plain fr has to be mapped to the intended Smartling locale in the connector or API call, or strings land in the wrong target.
  • Return the right code in translated files. For Rails and other YAML projects, Smartling's yaml_locale_substitution directive writes the full locale code (e.g. fr-FR:) as the top-level key of the translated file, so the application loads the right bundle without a rename step.
  • Separate the glossaries. One glossary entry for "email" cannot be both courriel and e-mail; Smartling's Terminology Directory stores term translations per locale, so fr-CA and fr-FR each get the approved form, with Case Sensitive and Exact Match flags where a term must not vary.
  • Turn on the French-specific spacing rule. Smartling's Spacing Error quality check has a language-specific rule for French (France) and French (Canada) that checks grammatical spacing around punctuation marks, including quotation marks (guillemets) — the check that catches the fr-FR/fr-CA punctuation split before a reviewer does.
  • Enable the Number Consistency and Plurals checks. Number Consistency (disabled by default) flags an incorrect number format conversion — French uses a comma, not a period, as the decimal separator — and the Plurals check (medium severity) flags a French translation whose plural forms match when the source forms differ.
  • Set the formality register per locale. French distinguishes tu and vous; Smartling passes the desired formality to MT providers that support it natively — DeepL and Amazon Translate both support formality for French — and the register lives in the Style Guide's Language Conventions so human linguists follow the same rule.

French software localization: the numbers that shape the setup

FigureValueWhy it matters for software teams
Typical French text expansion vs. English~30% longer (Smartling pseudo-translation model)Buttons, tabs, and nav labels sized for English need a length limit or a flexible container.
Default pseudo-translation download+30% string lengthLets a team stress-test a French layout before paying for translation; pseudo words are not counted as Processed Words.
CLDR plural categories for French2 (one, other); 0 belongs to "one"ICU plural strings must not hard-code 0 as plural for French.
Segment Completeness check default thresholdsFlags translations >250% or <50% of source lengthToo loose for French UI strings; Smartling recommends a language-specific rule for expanding languages.
Quebec Charter of the French Language, s. 52.1Software must be available in French unless no French version exists (Bill 96, adopted June 1, 2022)A French build is a compliance item for Quebec sales, and the French version's terms must be no less favorable.
French-speaking population and reachOfficial language in 29 countries; 275+ million speakersfr-FR and fr-CA are the two commercial locales, but fr-BE, fr-CH, and African French markets share the same base language with different conventions.

Sources: Smartling Help Center (Pseudo Translations; Quality Checks: Types and Configuration); Unicode CLDR Plural Rules; Légis Québec, Charter of the French Language; Smartling blog, "4 French Translators on What to Know When Translating English-French."

Can I find French software translation tutorials online?

Yes — the tutorials that actually cover French as a software locale are spread across a translation platform's help center, standards bodies, and government terminology portals rather than gathered in one course. A working sequence:

  1. Start with locale concepts — Smartling's Help Center articles "Smartling Core Concepts" and "Key Concepts for Developers" use French (Canada), fr-CA, as their worked example for what a locale is and how to map a platform's language code to it; "Tutorial: Translation Jobs and Workflows" covers the fr vs. fr-FR mapping problem directly.
  2. Learn the formatting data from CLDR — Unicode CLDR publishes the plural rules, number patterns, and date patterns for fr and fr-CA; its Language Plural Rules chart is the fastest way to confirm that French "one" covers 0 and 1.
  3. Read the typography guidance for each locale — the Language Portal of Canada's writing tips on standard spacing in French and the OQLF's Vitrine linguistique document the Canadian spacing rules; Microsoft's French localization style guides (now on learn.microsoft.com/globalization after the Microsoft Language Portal closed on June 30, 2023) cover France's conventions for UI text.
  4. Preview expansion before ordering translation — Smartling's "Pseudo Translations" article walks through downloading a pseudo-translated file (default +30%) from the Files tab or a connector so the French layout is tested before a linguist opens the job.
  5. Configure length limits and locale quality checks — "Set Translation Length Limits" covers per-string character or byte limits via in-file directives or the Strings API; "Quality Checks: Types and Configuration" documents the French spacing rule, Number Consistency, and Plurals checks to enable for fr-FR and fr-CA.

Este enfoque se adapta a equipos que...

  • Sell into both France and Quebec and have been told by a Canadian customer that the "French" UI reads as European.
  • Ship UI strings in JSON, YAML, Android XML, or iOS Strings and need plural and placeholder handling to survive French agreement and spacing rules.
  • Have a Quebec procurement or legal requirement under Bill 96 to deliver software in French on equal terms.
  • Run machine translation for French and need the tu/vous register set once rather than corrected string by string.
  • Maintain a glossary and want fr-CA and fr-FR terms (courriel vs. e-mail) enforced automatically instead of by reviewer memory.

When a separate fr-FR / fr-CA setup may not be the right priority

  • A product with no Canadian or Belgian/Swiss users, where a single fr-FR locale covers every customer today — add fr-CA when the first Quebec deal or Bill 96 question appears.
  • Marketing or long-form content only, where the fuller treatment of tone, formality, and anglicisms in Smartling's guide to translating English to French matters more than UI plural and spacing rules.
  • Very small static string sets where a bilingual reviewer can check spacing and plurals by hand faster than configuring locale-specific checks.

Evaluation checklist: questions to ask before localizing software into French

Which French locales are you actually shipping?
Decide between fr-FR alone or fr-FR plus fr-CA (and fr-BE, fr-CH) before configuring anything; every glossary entry, style guide, and quality check downstream is per locale.

Do your plural strings handle 0 as singular in French?
Check ICU MessageFormat or platform plural resources against CLDR: "0 fichier" is correct French, "0 fichiers" is not, and English-derived logic gets this wrong.

Which punctuation spacing rule does each locale follow?
France uses no-break spaces before : ; ? !; Quebec uses one only before the colon. Confirm your quality checks enforce the right rule per locale, not a single French rule.

Are number and currency formats coming from locale data or hard-coded?
French uses a comma decimal and a space as the thousands separator (1 234,56); the currency symbol follows the amount in both France and Quebec (1 234,56 € / 1 234,56 $). Hard-coded English formats are a common source of French QA rejections.

Have you set the tu/vous register for French in writing?
Record it in the style guide and pass it to MT providers that support formality (DeepL, Amazon Translate), because the choice changes verb forms and pronouns across every string addressing the user.

Does a Quebec customer's legal team need to see a French version on equal terms?
Section 52.1 of the Charter of the French Language makes that a purchasing requirement in Quebec; confirm the French build, documentation, and support content are all in scope.

How does Smartling handle French software localization?

Smartling treats French as a family of locales rather than one language: fr-FR, fr-CA, fr-BE, and fr-CH are separate target locales, each with its own Translation Memory leverage, glossary translations in the Terminology Directory, and Style Guide language conventions, so courriel and e-mail can both be the approved term without conflict. Locale mapping is explicit — connectors and the API map a platform's fr code to the intended Smartling locale, and file directives such as yaml_locale_substitution return the full fr-FR or fr-CA code in translated files.

On quality, Smartling's Spacing Error check applies a language-specific rule for French (France) and French (Canada) that validates grammatical spacing around punctuation and guillemets; Number Consistency catches a period where French needs a comma; the Plurals check flags French plural forms that were not differentiated; and the Placeholder and Tag Consistency checks keep variables and markup intact while spacing changes around them. Target Length Limit (high severity by default) enforces per-string character or byte limits, and SmartMatch will not auto-apply a stored translation that exceeds a string's limit — relevant given French's roughly 30% expansion. Before translation starts, pseudo-translation downloads at +30% show whether a French layout holds. Smartling's professional translation network includes native French linguists — Marie-Hélène P., quoted in Smartling's English-to-French guide, describes the constant work of fitting French into "restricted space while staying accurate" — and for machine translation, formality can be specified for French through DeepL and Amazon Translate, both supported in Smartling's AI Hub.

¿Listo para ver a Smartling en acción?

Converse con alguien del equipo de Smartling para identificar cómo podemos ayudarle a aprovechar mejor su presupuesto al entregarle traducciones con la más alta calidad, mayor rapidez y a costos mucho más bajos.