Reading prices and currencies aloud in French: where the traps sit
12,50 €, $5, 1 M€, CHF 40: a money amount reads in an order and with a name the symbol never states. The table of currency forms that trip up French speech synthesis, and how good preparation handles them.
A money amount is a number in disguise. "12,50 €" is not "douze virgule cinquante euro", it is "douze euros cinquante". "$5" is not "dollar cinq" even though the symbol is written in front of the digit. "1 M€" is neither "un M euro" nor "un mégaeuro", it is "un million d'euros". Each of these forms hides a rule the symbol does not carry: the reading order, the currency name, where the cents go, and sometimes the language the writing came from. This is ground where a generic voice often gets it wrong, and where the error is heard at once, because a badly read price is a price you cannot write down.
The table of currency forms that fool the machine
| Written form | Expected reading | Common error |
|---|---|---|
| 12,50 € | douze euros cinquante | "douze virgule cinquante euro" |
| 15 € | quinze euros | "quinze €" or "quinze euro" with no plural |
| $5 | cinq dollars | "dollar cinq" |
| £20 | vingt livres | "livre vingt" or the symbol name read out |
| 1 M€ | un million d'euros | "un M euro" |
| 250 k€ | deux cent cinquante mille euros | "deux cent cinquante k euro" |
| 3,2 Md€ | trois milliards deux cents millions d'euros | "trois virgule deux Md euro" |
| CHF 40 | quarante francs suisses | "CHF quarante" spelled out |
| 9,99 $ | neuf dollars quatre-vingt-dix-neuf | "neuf virgule quatre-vingt-dix-neuf dollar" |
| de 10 à 15 € | de dix à quinze euros | "de dix tiret quinze euros" |
The right-hand column is not a hypothesis. These are the readings you actually hear on voices that predict sound without an explicit model of French and its money conventions. Each line is a test you can run against any tool, ours included, in two minutes.
Why a price resists a naive reading
The first trap is order. In French the unit is spoken after the number ("quinze euros"), but the symbol is written sometimes after (12 €) and sometimes before, borrowed straight from foreign usage ($5, £20). An engine reading left to right without recognising the symbol as a currency will say "dollar cinq". So it has to spot the symbol, understand that it qualifies the neighbouring number, and put it back in the right place aloud with the right plural.
The second trap is the comma. In a French amount, "12,50 €" is spoken "douze euros cinquante", not "douze virgule cinquante": the decimal part becomes the cents, and the word "virgule" has no business there. Yet the same comma, in another context, is a genuine decimal read "virgule". The meaning depends on what the number represents, and that is exactly what character-by-character prediction does not model. This mechanism is the direct cousin of the one described in reading numbers aloud in French: a bare number and a money number do not follow the same rule.
The third trap is the scale abbreviation. "M€", "k€", "Md€" condense million, thousand and billion, and an engine that treats them as letters will say "M euro". These abbreviations belong to the same family as units and symbols: they are not read, they are expanded. Finally, ISO codes (EUR, USD, GBP, CHF) pose a choice: spell them or render them as the currency name. In text meant for the ear, "quarante francs suisses" beats "CHF quarante".
What happens before any sound comes out
None of these cases is fixed by a prettier voice. They are fixed by normalisation that recognises a string as an amount, identifies the currency, puts the unit back in French order and expands the scales before synthesis. This is rule work, not timbre, and it is the whole logic of the French text to speech page: the essential part is decided upstream. A beautiful voice fed badly will read "dollar cinq"; an ordinary voice prepared well will read "cinq dollars".
What WeDispatch does about it, without overpromising
The common forms in the table, the euro placed after the number, the cents taken from the decimal part, the dollar and pound written in front of the digit, the scale abbreviations M€, k€ and Md€, are handled by the normalisation applied to every article, in both reading modes. The plural agreement follows the number, and an amount reads in French order, not in the order of the symbol.
What remains are cases where the choice is not universal. A rare currency, an ISO code specific to a sector, an in-house writing convention: guessing wrong would be worse than staying cautious. For a currency or a mention that recurs across your content and must always read the same way, the pronunciation lexicon lets you fix the expected form once and for all, with no regeneration. We prefer to put it this way rather than claim a machine always guesses right: it applies solid rules to the frequent cases, and leaves you in control of the rest.
The test to run before you choose
Take a real pricing page, a rate card or a product sheet from your site, not a demo text. Find an amount with cents, an amount in a foreign currency, an abbreviation in M€ or k€. Have the tool you are evaluating read those passages and listen to those points only: could you copy the price down by ear without asking for a repeat? That is the only criterion that matters, and it is more predictive than a whole-article listen.
Give your articles a voice with WeDispatch
This blog is itself voiced by WeDispatch. Curious how it sounds on your content?
Book a demo