"Millions" plural form in French, Spanish, Portuguese & Italian

Currently, GNOME’s translations for these four languages use 2 plural forms. It depends on the language but each one is either (e.g. Italian):

"Plural-Forms: nplurals=2; plural=(n != 1);\n"

or (e.g. French):

"Plural-Forms: nplurals=2; plural=(n > 1);\n"

The Unicode Common Locale Data Repository (CLDR) maintains a list of plural rules for different languages, and some time in early 2022 it was updated to state that these languages have 3 plural forms for cardinal numbers, not 2. The additional form is for round millions. Here are the (integer) examples given for French, but the others are similar:

one: 1 jour
many: 1 000 000 de jours, 1 M de jours
other: 2 jours

I don’t speak any of these languages, so back in May I checked this with colleagues who speak Spanish (European and Latin American) and (Brazilian) Portuguese. @danigm suggested starting a discussion about whether GNOME should follow CLDR and introduce a third plural form.

Two Brazilian colleagues who are not on this forum agreed that:

  • “um milhão de dias” or “1 milhão de dias” for “one million days”.
  • “1.000.000 de dias” looks odd, but maybe it’s not wrong just uncommon.

The immediate reason I am interested in this is that Endless OS uses Transifex to maintain our translations, including for GNOME modules where we have forks that introduce new translatable strings. Because GNOME and Transifex’s plural form rules now differ for these languages, GNOME’s translations for plural strings get lost on the round-trip through Transifex. GNOME Software, for example, has a bunch of strings for how long ago something occurred:

%d minute(s)
%d hour(s)
%d day(s)
%d week(s)
%d month(s)
%d year(s)

In these cases the new “many” / millions form is not going to make any practical difference: it is impossible for an app to have been released 1 million years ago, and Software will never fill a number higher than 59 minutes, 23 hours, 6 days, 3 weeks, or 11 months into any of the other strings. But I guess it’s possible that other GNOME modules might actually want to format a string which is a million of something.

(I’m not saying that GNOME’s translations should follow the same rules as Transifex to make my life easier!)


My language is French and here is what I can say (note: this is my personal opinion):

  • Write “1 million de jours”, “2 millions de jours”. “1 000 000 de jours” is unusual but can be written. The word usage is shorter and easier to read. Also, if written manually with numbers, it must have the “.” separator, so it is easier to read because spaces may vary in handwriting. If written with a computer, the “.” makes it easy to separate numbers with a numeric keypad. In the table you linked, I wonder why they put the “.” separator for Spanish but not for French…
  • Maybe avoid using “1 M”. At least for me, who don’t particularly remember such an abbreviation, knowing what number it is is not obvious.
  • Moreover, in the “Minimum pairs” for the ordinal in the Table for French, it is not “1re” and “2e”, but “1ère” and “2ème”. “2ème” can be shortened to “2è” but not to “2e”. Note that “1ère” is feminine, and the masculine is “1er”.


Sadly writing it in this form with the word « million » rather than « 000 000 » is difficult (perhaps impossible?) to do with GNU Gettext, as far as I know. The options are:

  • 1 000 000 jours (currently)
  • 1 000 000 de jours (if GNOME adopted the i % 1000000 == 0 plural form that CLDR added this year)

I don’t about what is possible or not (I’m not a dev).

“1 000 000 jours” is simply incorrect.

For the separator (and 1re and 2e), I checked a dictionary site and they write such numbers without “.”. I don’t know where this come from (same for 1re and 2e), but there are some stupid decisions in French.

For “de jours”, there is the “de” (but the opposite would have been odd). Source (French): Définitions : million - Dictionnaire de français Larousse, in “Construction”.

(:wave: coordinator for the French team here, and i18n coordinator as well)

@wjt this is something that should be discussed by the translation teams, so their attention needs to be brought to this topic. I can’t speak for other teams, but the French one has their discussions on their mailing list (not hosted on GNOME infra, as it’s tied to a larger effort to translate FLOSS to French). I’ll bring the topic there, but with the holidays I don’t expect people to be able to participate. Maybe we should postpone this a couple of weeks?

Poking @Daniel_Mustieles for the Spanish team, @rafaelff for Brazilian Portuguese.
The Italian coordinator doesn’t seem to have an account here and the team list was hosted on GNOME infra, so it has been decommissioned.
The Portuguese coordinator doesn’t seem to have an account here and the team doesn’t have a list, so I’m not sure where they discuss such issues. It’s also a very small team (2 people) so I wouldn’t be surprised such decisions are taken by the coordinator alone.

Assuming teams decide to follow the new rules, have you already looked into what the gettext plural forms would look like? That would probably help with the decision process.

I would say the same thing for French, and I would add that:

  • we write « un million d’euros », « 1 million d’euros », which matches how it is said
  • we write « 1000000€ », which doesn’t match, but that’s still how it’s supposed to be written.

So my first guess is we don’t want the new plural form and the euro case explains how it works, but this still needs to be discussed by teams.

Well, that kind of shenanigans has always been frowned upon by the GNOME i18n team anyway, so…

That is off-topic here and just adding noise to this conversation about plural forms. You are also incorrect, and the table is correct. See this wikipedia section which is properly sourced.

Where does that even come from? Again, this is off-topic and adding noise. Separators are properly handled and part of the locale. Please don’t go on tangents like this.

Thank you, that is a useful resource and I will make sure to mention it when I open the discussion in the team. It does go against my guess, as units are said to be a special case.

Hi all,

I’m probably missing something in this discussion so, first of all, my apologies if my opinion is not 100% accuracy.

In Spanish we have just two plural forms:

1 car
2 or more cars

About writing it with words or numbers yes, we usually prefer to write it with words, but there is no problem if you write it with numbers.

So I’d vote to not follow that new plural form since it doesn’t offer us anything (nor it fixes any wrong use…).

As I said, maybe I’m missing something and this discussion is deeper than I think. In that case please keep the conversation open and keep taliking about it.

Regards and happy holidays

This was corrected in my second comment you read…

For the separator, it’s indeed with “.”, but for Belgium… (And I didn’t think we had a difference for that with other French-speaking countries… if this difference is true).

What are you talking about?

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.