French for developers: expansion, gender agreement, and typography
French reads as familiar to English speakers — shared alphabet, a large amount of shared vocabulary through history. That familiarity hides a set of technical requirements that trip up interfaces built with English text in mind: French strings run longer, grammatical gender can silently break a sentence assembled from pieces, and French typography follows its own spacing conventions that a plain text renderer will not apply on its own.
Text expansion
French translations of English UI text commonly run longer, and short strings can expand by much more — a two-word English button label frequently becomes a three- or four-word French phrase. A button sized to fit its English label with a few pixels of margin will clip or wrap in French. The practical fix is to design UI containers for the longest language you support, not the source language, and to test with pseudo-localized or genuinely translated strings before layout is considered final.
Grammatical gender breaks fragment-based sentences
Every French noun carries grammatical gender, masculine or feminine, and articles, adjectives, and past participles must agree with it. This is invisible in English, where 'the sword' and 'the shield' take the same article, but in French une épée (a sword, feminine) and un bouclier (a shield, masculine) take different articles, and any adjective describing them changes form: une épée légère (light) versus un bouclier léger.
This becomes a real bug, not a stylistic nuance, in any system that builds a sentence out of interchangeable fragments — 'You found a {item}.' with item names inserted from a data table. In English the template is gender-neutral and works for any item. In French, the article and any adjective in the template must match the gender of whatever noun gets substituted in, which a single fixed template cannot do correctly for both masculine and feminine items without either passing gender as data or writing separate templates per gender.
Elision
French drops the vowel in certain short words — le, la, de, que, and a few others — when the following word starts with a vowel sound, replacing it with an apostrophe: le ami becomes l'ami, la histoire becomes l'histoire (h is silent here), que il becomes qu'il. This is not optional style; writing le ami is simply incorrect French. It matters for localization because it is another case where a fixed template plus a substituted noun can produce ungrammatical output if the template does not know whether the inserted word starts with a vowel sound.
Typography: spacing around punctuation
Standard French typography inserts a space before certain double punctuation marks — colons, semicolons, question marks, and exclamation points — where English has none: Vraiment ? rather than Vraiment?. In print French, this is traditionally a narrow non-breaking space rather than a full space, so the punctuation does not get separated from its sentence at a line break. Whether to follow this convention exactly, use a regular space, or omit it depends on your target audience and platform — France uses the narrow-space convention in formal writing, while some other French-speaking regions apply it less strictly — but it should be a deliberate choice recorded in your style guide, not left to whatever a translator's word processor autocorrects.
Formal versus informal address
French distinguishes tu (informal 'you') from vous (formal 'you', also plural), each with its own verb conjugation. Unlike some languages where this choice can vary line by line based on context, a game generally needs to settle on one register for its narrator or UI voice and hold it consistently — mixing tu and vous within the same character's dialogue, or between the UI and the narrative, reads as an error rather than a stylistic choice. This is a decision worth making explicitly at the start of a project, together with your translator, rather than defaulting to whatever the first translated string happens to use.
- Design layout containers for your longest supported language, not the English source
- Never assemble a sentence from an item name plus a fixed article or adjective without accounting for gender
- Handle elision (le/la → l') explicitly if templates insert nouns after these words
- Decide your punctuation-spacing convention once and document it in the style guide
- Fix tu or vous for the whole project before translation starts, not per line