[Unicode]   Common Locale Data Repository : Bug Tracking Home | Site Map | Search

CLDR Ticket #9907(accepted data)

Opened 5 months ago

Last modified 8 weeks ago

French SpelloutRules for hyphens and conjunctions

Reported by: verdy_p@… Owned by: pedberg
Component: rbnf Data Locale: fr
Phase: rc Review:
Weeks: Data Xpath:


Well for French ordinals, this still uses old rules using spaces instead of hyphens.

Fractions in French are spelled (like in English) as : cardinal (numerator) + space + ordinal (denominator)
where the ordinal (denominator) here is taking the singular or plural form, according to the value of the leading cardinal (numerator) and French plural rules.

With the old spelling rules of ordinals still using spaces (like in cardinals), it is difficult to guess the values being meant in

  • "(les) deux cent sept millièmes"

But this ambiguity is solved cleanly in all cases by always using hyphens instead of spaces within ordinals.

So a fraction will contain its last space just before the full ordinal for the denominator :

  • "(le) deux-cent-sept-millième" = (the) 1 / 207,000 = the 207,000th (singular)
  • "(les) deux-cent-sept-millièmes" = (the) 1 / 207,000 = the 207,000th (plural)
  • "(les) deux cent-sept-millièmes" = (the) 2 / 107,000 (plural only)
  • "(les) deux cent sept-millièmes" = (the) 200 / 7,000 (plural only)
  • "(les) deux-cent-sept millièmes" = (the) 207 / 1,000 (plural only)

Note: The ordinal (for the numerator) traditionally keeps using spaces instead of hyphens, except between tens and units, as in:

  • "(tens)-et-un" (10n+1), "(tens)-deux" (10n+2), ... "(tens)-neuf" (10n+9),
  • "soixante-dix" (70) = "septante" (in Belgian French and Swiss French),
  • "soixante-et-onze" (71) = "septante-et-un" (in Belgian French and Swiss French),
  • "soixante-douze" (72) = "septante-deux" (in Belgian French and Swiss French),
  • "soixante-treize" (73) = "septante-trois" (in Belgian French and Swiss French),
  • "soixante-quatorze" (74) = "septante-quatre" (in Belgian French and Swiss French),
  • "soixante-quinze" (75) = "septante-cinq" (in Belgian French and Swiss French),
  • "soixante-seize" (76) = "septante-six" (in Belgian French and Swiss French),
  • "soixante dix-sept" (77) = "septante-sept" (in Belgian French and Swiss French),
  • "soixante dix-huit" (78) = "septante-huit" (in Belgian French and Swiss French),
  • "soixante dix-neuf" (79) = "septante-neuf" (in Belgian French and Swiss French),
  • "quatre-vingt" (80) = "octante" (in Belgian French and Swiss French),
  • "quatre-vingt onze" (81) = "octante-et-un" (in Belgian French and Swiss French),
  • "quatre-vingt douze" (82) = "octante-deux" (in Belgian French and Swiss French),
  • "quatre-vingt treize" (83) = "octante-trois" (in Belgian French and Swiss French),
  • "quatre-vingt quatorze" (84) = "octante-quatre" (in Belgian French and Swiss French),
  • "quatre-vingt quinze" (85) = "octante-cinq" (in Belgian French and Swiss French),
  • "quatre-vingt seize" (86) = "octante-six" (in Belgian French and Swiss French),
  • "quatre-vingt dix-sept" (87) = "octante-sept" (in Belgian French and Swiss French),
  • "quatre-vingt dix-huit" (88) = "octante-huit" (in Belgian French and Swiss French),
  • "quatre-vingt dix-neuf" (89) = "octante-neuf" (in Belgian French and Swiss French),

But even in this list of cardinals spaces are also possible everywhere instead of hyphens between tens and units, the hyphen is strongly recommended only in "quatre-vingt". It is only the most common usage to use hyphens between tens an unit in cardinals.

In legal documents, cardinals are written using hyphens everywhere instead of spaces.

In all cases (traditional, most common, or legal), the space remains mandatory (an hyphen is strictly forbidden there) only between the numerator cardinal and the denominator ordinal of a fraction.


Kent Karlsson in an email to the list said:

"When I submitted the (initial) rules, French had "all hyphens". That was removed later, by request from some French translator(s?). I protested, but they are still not restored."

So he agrees with me, and suggest refiling the bug. The suppression of "all -hyphens" in ordinals is an error (and confirmed in official French linguistic resources)

In fact even cardinals should be written now with "all-hyphens", but the practive using spaces in cardinals is kept as it is not ambiguous, in cardinals only.

The corrections in rules:

: %%spellout-ordinal:
: - 200: <%spellout-cardinal-masculine< cent>%%cents-o>;
: + 200: <%spellout-cardinal-masculine<-cent>%%cents-o>;
: = 1000: mill>%%mille-o>;
: - 2000: <%%spellout-leading< mill>%%mille-o>;
: + 2000: <%%spellout-leading<-mill>%%mille-o>;
: - 1000000: <%%spellout-leading< million>%%cents-o>;
: + 1000000: <%%spellout-leading<-million>%%cents-o>;
: - 1000000000: <%%spellout-leading< milliard>%%cents-o>;
: + 1000000000: <%%spellout-leading<-milliard>%%cents-o>;
: - 1000000000000: <%%spellout-leading< billion>%%cents-o>;
: + 1000000000000: <%%spellout-leading<-billion>%%cents-o>;
: - 1000000000000000: <%%spellout-leading< billiard>%%cents-o>;
: - 1000000000000000: <%%spellout-leading<-billiard>%%cents-o>;
: = 1000000000000000000: =#,##0=;
: = %%cents-o:
: = 0: ième;
: = 1: -=%%et-unieme=;
: - 2: ' =%%spellout-ordinal=;
: + 2: -=%%spellout-ordinal=;
: = 11: -et-onzième;
: - 12: ' =%%spellout-ordinal=;
: - 12: -=%%spellout-ordinal=;
: = %%mille-o:
: = 0: ième;
: = 1: e-=%%et-unieme=;
: - 2: e =%%spellout-ordinal=;
: + 2: e-=%%spellout-ordinal=;
: = 11: e-et-onzième;
: - 12: e =%%spellout-ordinal=;
: + 12: e-=%%spellout-ordinal=;

There are however other issues with the presence of "-et-unième" or "-et-onzième", where "-et-" occurs after tens or thousands/millions/..., but not after hundreds:

  • 101st = "cent-unième", NOT "cent-et-unième"
  • 111st = "cent-onzième", NOT "cent-et-onzième"
  • 201th = "deux-cent-unième", NOT "deux-cent-et-unième"
  • 211th = "deux-cent-onzième", NOT "deux-cent-et-onzième"


and not after "quatre-vingt" (used in France):

  • 81st = "quatre-vingt-unième", NOT "quatre-vingt-unième" [fr-FR]
  • 91st = "quatre-vingt-onzième", NOT "quatre-vingt-onzième" [fr-FR]

But still an "-et-" is present after tens (including "septante", "octante", "nonante" used in Belgium and Switzerland):

  • 21st = "vingt-et-unième", NOT "vingt-unième"
  • 31st = "trente-et-unième", NOT "trente-unième"
  • 41st = "quarante-et-unième", NOT "quarante-unième"
  • 51st = "cinquante-et-unième", NOT "cinquante-unième"
  • 61st = "soixante-et-unième", NOT "soixante-unième"
  • 71st = "soixante-et-onzième", NOT "soixante-onzième" [fr-FR]
  • 71st = "septante-et-unième", NOT "septante-unième" [fr-BE and fr-CH]
  • 81st = "octante-et-unième", NOT "octante-unième" [fr-BE and and fr-CH]
  • 91st = "nonante-et-unième", NOT "nonante-unième" [fr-BE and and fr-CH]

Note: the choice for Luxembourg or Canada is not determined here if they prefer to use use the same variant as Belgium/Switzerland (not using twenties) or France (using twenties).

I think that most French sources in Luxembourg follow France, not Belgium : the French spekaing area in Luxembourg is on the South, while the North of Luxembourg better speaks German and would follow the used in Belgium for the German community.

For Canada, both forms are accepted, but the historical form using twenties like in France predominates. Anyway "septante", "octante", and "nonante" are also acceptable now in France, even if they look "exotic" (but they are not always understood).

Finally there's a need for a variant of "cardinals" when they are used in fact as ordinals (without suffix) for years in dates: these are stil written using "mille", instead of the expected "mil" :

  • year 2000 = "l'an deux mil", NOT "l'an deux mille"
  • November 2016 = "novembre deux mil seize", NOT "novembre deux mille seize"

The shorter term "mil" is only accepted for this case of ordinal years in calendars (Gregorian, Julian, or proleptic Gregorian, or before christian era, or even with the old Roman republican calendar, and Islamic/Hebrew/Chinese calendars). It is preferable to "mille" specifically for this case, to explicitly mark that it is an ordinal even if it hears like a cardinal.


Change History

comment:1 Changed 4 months ago by emmons

  • Status changed from new to accepted
  • Component changed from survey to rbnf
  • Priority changed from assess to minor
  • Phase changed from dsub to rc
  • Milestone changed from UNSCH to 31
  • Owner changed from anybody to grhoten
  • Type changed from survey to data

comment:2 Changed 4 months ago by srl

  • Cc cameron@… added

comment:3 Changed 4 months ago by grhoten

  • Summary changed from Feedback for Number Format Tester SpelloutRules to French SpelloutRules for hyphens and conjunctions

It looks like we're resurrecting the discussion from ticket:5345. This will take a while to verify, especially since I don't desire flip flopping back and forth on this topic, and there are multiple types of changes being proposed.

I've heard the same discussion for using hyphens and the word "and" in numbers for English too, which is complicated by multiple conflicting style guidelines for English.

If there are official rules that you can point to for French, that will help add value to the discussion. Thank you for providing concrete rules for this request.

comment:4 Changed 4 months ago by verdy_p@…

"Thank you for providing concrete rules for this request."

They are listed above as diffs.

The rules about ordinals have been changed in 1999 but we have to distinguish cases:

  • Cardinal numerals AND ordinal numerals are BOTH "adjectives" and determiners to be used before a "noun", as such, the hyphens are almost always unnecessary when they translate an addition ("et") except in "quatre-vingt", and no longer necessary around "et" when it is spelled.
  • Fractions use a cardinal numeral "adjective" (used as a determiner) followed (after a space) by an ordinal numeral "noun" (whole plural will be marqued by adding an "s" to the ordinal). This is for this case that hyphens are really needed to disambiguate the fractions: ordinal nouns used for fractions should always use hyphens between all terms.

To regularize this rule, the ordinal adjectives (used as determiners) and ordinal nouns (used in fractions) should both use the hyphen and the same orthography.

Unless you separate the "noun" and "adjective" case for ordinals, the single rule for "ordinals" MUST use hyphens everywhere, because it is the most restrictive (it is valid both in the reformed orthography of 1999, and in the traditional orthography where usage or hyphens was never clear).

For cardinals, the reform allows dropping hyphens between all terms, but I would still keep them between tens and units and in "quatre-vingt" (which is displaying the plural "quatre-vingts" only when there's no unit added after it!!!)

Look at the official paper expliaining that in the French orthographic reform of 1999. The French Academy has also discussed the problem and approved the change as it solves ambiguities in written text (but it has absolutely no impact on the spoken language, which will use other form of separtion such as variation of tones and rythms and pauses)

Final note: the numeral ordinal "nouns" are a bit different from the "adjectives":

  • the ordinal noun for fractions by 2 is "demi" (plural "demis"), not "deuxième(s)"
  • the ordinal noun for fractions by 3 is "tiers" (same in plural), not "troisième(s)"
  • the ordinal noun for fractions by 4 is "quart" (plural "quarts"), not quatrième(s)"
  • ordinal nouns for fractions by (10n+2), (10n+3), (10n+4) still use "-deuxième(s)", "-troisième(s)", "-quatrième(s)"

We could then have a separate rule for ordinal nouns used in fractions, where hyphens would be used everyhere.

comment:5 Changed 4 months ago by verdyp@…

Correction of a typo: the reform was in 1990, not 1999.

A complete and accurate transcription of the official report is on

You can choose the layout to read it on screen. Or look at the source PDF. It was first published 26 years ago in the "Journal officiel de la République française".

comment:6 Changed 4 months ago by grhoten

It's important to note that ordinals can't have fractions by definition. Now if you want adjective forms of ordinals, then I recommend going the same route as Spanish. Spanish has an adjective ordinal form, which is separate from the other ordinal forms.

Also the current set of rules avoids the notion of vulgar fractions, which should not be confused with ordinals. Getting "one third" supported to mean 1/3 is not a goal for any language right now. That would be a new extensive feature request for RBNF. Russian is an exception because it is a fraction for cardinals, but it's only base 10, which is easier to get formatted accurately. It's also unnatural to leave the magnitude out of a fraction in Russian.

comment:7 Changed 3 months ago by grhoten

  • Owner changed from grhoten to pedberg

Peter, since you recently reviewed some French RBNF issues with me, maybe you can help facilitate a solution to differing opinions.

comment:8 Changed 8 weeks ago by pedberg

  • Milestone changed from 31 to 32

This seems to be one for which we will need to have a discussion among vetters / translators in CLDR 32. We don't have vetters in CLDR 31, moving to 32.


Add a comment

Modify Ticket

as accepted

E-mail address and user name can be saved in the Preferences.

Note: See TracTickets for help on using tickets.