Reading French dates aloud: where text-to-speech quietly gets it wrong
1er mai, 03/09/2026, les années 1980, 1914-1918: a written date has one right reading and several wrong ones. The forms that trip up French speech synthesis, and how a well-prepared engine handles them.
A date is a small trap disguised as text. In French, "03/09" is the third of September to a local reader, a division to a machine that missed the context, and the ninth of March to anyone used to the American order. "Les années 1980" is read "mille neuf cent quatre-vingt", yet nothing in the digits tells a voice that predicts pronunciation character by character. A date is exactly the kind of detail a listener leans in for, a meeting time, a deadline, a historical span, and it is exactly where a wrong reading costs the most.
The problem runs through every kind of content. News dates its facts, a product page announces availability, a report cites fiscal years, a history piece spans centuries. A voice that reads whole sentences flawlessly but stumbles on "1er" or "1789" breaks trust at the worst possible moment. Here are the forms that genuinely cause trouble, the reading you should expect, and the mistake you hear on poorly prepared voices.
The table of dates that fool the machine
| Written form | Expected reading | Common error |
|---|---|---|
| le 1er mai | le premier mai | "le un er mai", "le un mai" |
| 3 septembre 2026 | trois septembre deux mille vingt-six | "trois neuf deux mille vingt-six" |
| 03/09/2026 | le trois septembre deux mille vingt-six | "zéro trois slash zéro neuf slash..." |
| 2026-09-03 | trois septembre deux mille vingt-six | "deux mille vingt-six moins neuf moins trois" |
| les années 1980 | les années mille neuf cent quatre-vingt | "mille neuf cent quatre-vingts" read as a lone number |
| 1914-1918 | de mille neuf cent quatorze à mille neuf cent dix-huit | "quatorze moins dix-huit" |
| en 1789 | en mille sept cent quatre-vingt-neuf | "en un sept huit neuf" |
| lun. 3 sept. | lundi trois septembre | "lun point trois sept point" |
| le 08/12 | le huit décembre | "le zéro huit slash douze" |
| vers 500 av. J.-C. | vers cinq cents avant Jésus-Christ | "cinq cents a v point j point c" |
Each line is a test you can run against any tool, ours included, in two minutes. The right-hand column is not a hypothesis: these are the readings you actually hear on generic voices that predict sound without an explicit model of French.
Why a date resists so stubbornly
A neural voice does not understand that a cluster of digits is a date. It predicts pronunciation from what it saw during training, and the same symbol shifts meaning with its neighbours. The slash is a "slash" in a web address, a "sur" in a fraction, and nothing at all in a date, where it must vanish in favour of the month's name. The hyphen joins two years in "1914-1918" and becomes "à", but it is a minus sign elsewhere. The "1er" form mixes a digit and a superscript letter, which an unprepared engine reads letter by letter.
The subtlest case is the year read in groups. French commonly says "mille neuf cent quatre-vingt" or "dix-neuf cent quatre-vingt" for 1980, but "deux mille vingt-six" for 2026, never "vingt vingt-six". A rule that treated every four-digit year the same way would be wrong half the time. The grouping depends on the century, and the engine has to know that before it synthesises anything.
Good preparation means normalising the text upstream: recognising that a pattern is a date, a year span, or a day ordinal, then rewriting it into the form the voice will read correctly. It is rule work, not timbre. A beautiful voice fed raw text will read "le premier" as "le un er"; an ordinary voice that is well prepared reads it right. That is the whole logic of the French text-to-speech page: what matters happens before any sound comes out.
What WeDispatch does, without overpromising
The common forms in the table, standard numeric dates, spelled-out dates, the day ordinal, year spans and lone years, are handled by the normalisation applied to every article, in both reading modes. That is the baseline we treat as given, not as a paid extra.
What remains is the genuinely ambiguous. "08/12" is the eighth of December in France and the twelfth of August elsewhere: with no signal about the writing convention, no rule can settle it with certainty. "Le 3" without a month reads "le trois", but is it a day, a rank, a volume? In those cases, two things. First, well-typed source text removes the ambiguity: spelling the month out when the audience is international is good writing practice, audio or not. Second, for a specific reading that must hold across all your articles, the pronunciation lexicon lets you fix the expected form once, with nothing to regenerate.
We would rather say it this way than claim a machine always guesses. It does not guess: it applies solid rules across the vast majority of cases, and leaves you in control of the rest.
The test to run before you choose
Take a real article from your site, not a demo text. Find the places where a date carries information: a deadline, a period, a publication date quoted in the body. Have the tool you are evaluating read those passages, and listen only to those points. It is faster and far more predictive than a general listen, because these forms recur every day in your content.
Dates are cousins of numbers, the other great revealer, covered in reading numbers aloud in French. Roman numerals follow their own rules, a king is read differently from a century, and we handled them separately in reading Roman numerals aloud. And if you want a full method for choosing between two voices, it is in how to evaluate a neural voice. Dates alone rule out more candidates than most people expect.
Give your articles a voice with WeDispatch
This blog is itself voiced by WeDispatch. Curious how it sounds on your content?
Book a demo