Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change 1 in one key to %{count} #993

Merged
merged 1 commit into from
Nov 16, 2022

Conversation

movermeyer
Copy link
Contributor

What are you trying to accomplish?

Fixes #823. cc @cejaekl

one is used for numbers other than 1.

A common mistake is to think that "one" is only for only the number 1.
Instead, "one" is a category for any number that behaves like 1.
So in some languages, for example, one → numbers that end in "1" (like 1, 21, 151) but that don't end in 11 (like 11, 111, 10311).

What approach did you choose and why?

Simple find/replace, then looked through the changes to make sure they were correct.

Find: one:(.*)1(.*)
Replace: one:$1%{count}$2
Then git add -up

What should reviewers focus on?

🤷

The impact of these changes

Correct translations when lookups are done in locales that use one for non-1 counts.

@pama
Copy link
Collaborator

pama commented Jul 3, 2022

Do we need to change it for all languages?

I don't think adding an interpolation is the best solution for languages that will always be 1 for one:. I would rather see a fix for the languages where "one" is not only for the number 1.

@movermeyer movermeyer force-pushed the movermeyer/1_to_count_variable branch from 68e4726 to 57953a8 Compare July 4, 2022 13:08
@movermeyer
Copy link
Contributor Author

I don't think adding an interpolation is the best solution for languages that will always be 1 for one:. I would rather see a fix for the languages where "one" is not only for the number 1.

@pama I respectfully disagree. I believe we should change it for all languages.

a) Translation files should be synchronized in the strings that they represent.

  • e.g., If you use a translation management system, it will assume that the strings are the same
  • Detecting differences in the "shape" of translations between languages is a good way to automatically detect issues with the translations.

b) There's no harm in having the interpolations.
c) Sometimes the rules change. For example, the rules for fr, es, it, pt recently changed. If you don't use the interpolations, then you need to go through and re-evaluate each time (which we can assume won't happen).

@pama
Copy link
Collaborator

pama commented Jul 6, 2022

Your arguments seem reasonable. Thank you.

I noticed that the tests are failing.

@pama
Copy link
Collaborator

pama commented Oct 10, 2022

@movermeyer will you be able to address the CI errors? Thanks.

@movermeyer movermeyer force-pushed the movermeyer/1_to_count_variable branch 2 times, most recently from 8c33264 to 4bf8db9 Compare October 10, 2022 17:15
@movermeyer
Copy link
Contributor Author

@movermeyer will you be able to address the CI errors? Thanks.

@pama Rebased and fixed up. Thanks.

@sunny
Copy link
Contributor

sunny commented Oct 19, 2022

Would you mind adding this to the CHANGELOG, as well? 🙏🏻

`one` is used for numbers other than 1.

> A common mistake is to think that "one" is only for only the number 1.
> Instead, "one" is a category for any number that behaves like 1.
> So in some languages, for example, one → numbers that end in "1" (like 1, 21, 151) but that don't end in 11 (like 11, 111, 10311).
- http://cldr.unicode.org/index/cldr-spec/plural-rules
@movermeyer movermeyer force-pushed the movermeyer/1_to_count_variable branch from 4bf8db9 to 6b23fc2 Compare October 19, 2022 14:03
@movermeyer
Copy link
Contributor Author

Would you mind adding this to the CHANGELOG, as well? 🙏🏻

@sunny Done.

@pama
Copy link
Collaborator

pama commented Nov 16, 2022

@movermeyer Have you considered requesting the same in the Ruby on Rails repository?

@pama pama merged commit 7fd9c2d into svenfuchs:master Nov 16, 2022
@movermeyer
Copy link
Contributor Author

movermeyer commented Nov 16, 2022

@movermeyer Have you considered requesting the same in the Ruby on Rails repository?

@pama Will do!

other: quase %{count} anos
half_a_minute: meio minuto
less_than_x_seconds:
one: menos de 1 segundo
one: menos de %{count} segundo
other: menos de %{count} segundos
less_than_x_minutes:
one: menos de um minuto
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You missed this one:

one: menos de %{count} minuto

Copy link
Contributor Author

@movermeyer movermeyer Jan 4, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@silva96 Good call. I was just using a very simple regex to find these.

I've now written a script to detect differing interpolations between the pluralization context subkeys. Running it, I see that there are 566 similar issues across 71 locales:

16 problems in `ar` locale: ["datetime.distance_in_words.about_x_hours", "datetime.distance_in_words.about_x_months", "datetime.distance_in_words.about_x_years", "datetime.distance_in_words.almost_x_years", "datetime.distance_in_words.less_than_x_seconds", "datetime.distance_in_words.less_than_x_minutes", "datetime.distance_in_words.over_x_years", "datetime.distance_in_words.x_seconds", "datetime.distance_in_words.x_minutes", "datetime.distance_in_words.x_days", "datetime.distance_in_words.x_months", "errors.messages.other_than", "errors.messages.too_long", "errors.messages.too_short", "errors.messages.wrong_length", "errors.template.header"]
11 problems in `bn` locale: ["datetime.distance_in_words.about_x_hours", "datetime.distance_in_words.about_x_months", "datetime.distance_in_words.about_x_years", "datetime.distance_in_words.less_than_x_seconds", "datetime.distance_in_words.less_than_x_minutes", "datetime.distance_in_words.over_x_years", "datetime.distance_in_words.x_seconds", "datetime.distance_in_words.x_minutes", "datetime.distance_in_words.x_days", "datetime.distance_in_words.x_months", "errors.template.header"]
6 problems in `bs` locale: ["datetime.distance_in_words.about_x_hours", "datetime.distance_in_words.about_x_months", "datetime.distance_in_words.about_x_years", "datetime.distance_in_words.less_than_x_seconds", "datetime.distance_in_words.less_than_x_minutes", "datetime.distance_in_words.over_x_years"]
12 problems in `cs` locale: ["datetime.distance_in_words.about_x_hours", "datetime.distance_in_words.about_x_months", "datetime.distance_in_words.about_x_years", "datetime.distance_in_words.almost_x_years", "datetime.distance_in_words.less_than_x_seconds", "datetime.distance_in_words.less_than_x_minutes", "datetime.distance_in_words.over_x_years", "datetime.distance_in_words.x_seconds", "datetime.distance_in_words.x_minutes", "datetime.distance_in_words.x_days", "datetime.distance_in_words.x_months", "errors.template.header"]
13 problems in `da` locale: ["datetime.distance_in_words.about_x_hours", "datetime.distance_in_words.about_x_months", "datetime.distance_in_words.about_x_years", "datetime.distance_in_words.almost_x_years", "datetime.distance_in_words.less_than_x_seconds", "datetime.distance_in_words.less_than_x_minutes", "datetime.distance_in_words.over_x_years", "datetime.distance_in_words.x_seconds", "datetime.distance_in_words.x_minutes", "datetime.distance_in_words.x_days", "datetime.distance_in_words.x_months", "datetime.distance_in_words.x_years", "errors.template.header"]
13 problems in `de` locale: ["datetime.distance_in_words.about_x_hours", "datetime.distance_in_words.about_x_months", "datetime.distance_in_words.about_x_years", "datetime.distance_in_words.almost_x_years", "datetime.distance_in_words.less_than_x_seconds", "datetime.distance_in_words.less_than_x_minutes", "datetime.distance_in_words.over_x_years", "datetime.distance_in_words.x_seconds", "datetime.distance_in_words.x_minutes", "datetime.distance_in_words.x_days", "datetime.distance_in_words.x_months", "datetime.distance_in_words.x_years", "errors.template.header"]
12 problems in `de-AT` locale: ["datetime.distance_in_words.about_x_hours", "datetime.distance_in_words.about_x_months", "datetime.distance_in_words.about_x_years", "datetime.distance_in_words.almost_x_years", "datetime.distance_in_words.less_than_x_seconds", "datetime.distance_in_words.less_than_x_minutes", "datetime.distance_in_words.over_x_years", "datetime.distance_in_words.x_seconds", "datetime.distance_in_words.x_minutes", "datetime.distance_in_words.x_days", "datetime.distance_in_words.x_months", "errors.template.header"]
12 problems in `de-CH` locale: ["datetime.distance_in_words.about_x_hours", "datetime.distance_in_words.about_x_months", "datetime.distance_in_words.about_x_years", "datetime.distance_in_words.almost_x_years", "datetime.distance_in_words.less_than_x_seconds", "datetime.distance_in_words.less_than_x_minutes", "datetime.distance_in_words.over_x_years", "datetime.distance_in_words.x_seconds", "datetime.distance_in_words.x_minutes", "datetime.distance_in_words.x_days", "datetime.distance_in_words.x_months", "errors.template.header"]
12 problems in `de-DE` locale: ["datetime.distance_in_words.about_x_hours", "datetime.distance_in_words.about_x_months", "datetime.distance_in_words.about_x_years", "datetime.distance_in_words.almost_x_years", "datetime.distance_in_words.less_than_x_seconds", "datetime.distance_in_words.less_than_x_minutes", "datetime.distance_in_words.over_x_years", "datetime.distance_in_words.x_seconds", "datetime.distance_in_words.x_minutes", "datetime.distance_in_words.x_days", "datetime.distance_in_words.x_months", "errors.template.header"]
15 problems in `dz` locale: ["datetime.distance_in_words.about_x_hours", "datetime.distance_in_words.about_x_months", "datetime.distance_in_words.about_x_years", "datetime.distance_in_words.less_than_x_seconds", "datetime.distance_in_words.less_than_x_minutes", "datetime.distance_in_words.over_x_years", "datetime.distance_in_words.x_seconds", "datetime.distance_in_words.x_minutes", "datetime.distance_in_words.x_days", "datetime.distance_in_words.x_months", "datetime.distance_in_words.x_years", "errors.messages.too_long", "errors.messages.too_short", "errors.messages.wrong_length", "errors.template.header"]
7 problems in `el` locale: ["datetime.distance_in_words.about_x_hours", "datetime.distance_in_words.about_x_months", "datetime.distance_in_words.about_x_years", "datetime.distance_in_words.almost_x_years", "datetime.distance_in_words.less_than_x_seconds", "datetime.distance_in_words.less_than_x_minutes", "datetime.distance_in_words.over_x_years"]
7 problems in `el-CY` locale: ["datetime.distance_in_words.about_x_hours", "datetime.distance_in_words.about_x_months", "datetime.distance_in_words.about_x_years", "datetime.distance_in_words.almost_x_years", "datetime.distance_in_words.less_than_x_seconds", "datetime.distance_in_words.less_than_x_minutes", "datetime.distance_in_words.over_x_years"]
1 problems in `en` locale: ["datetime.distance_in_words.less_than_x_minutes"]
1 problems in `en-AU` locale: ["datetime.distance_in_words.less_than_x_minutes"]
1 problems in `en-CA` locale: ["datetime.distance_in_words.less_than_x_minutes"]
1 problems in `en-CY` locale: ["datetime.distance_in_words.less_than_x_minutes"]
1 problems in `en-GB` locale: ["datetime.distance_in_words.less_than_x_minutes"]
1 problems in `en-IE` locale: ["datetime.distance_in_words.less_than_x_minutes"]
1 problems in `en-IN` locale: ["datetime.distance_in_words.less_than_x_minutes"]
1 problems in `en-NZ` locale: ["datetime.distance_in_words.less_than_x_minutes"]
1 problems in `en-TT` locale: ["datetime.distance_in_words.less_than_x_minutes"]
1 problems in `en-US` locale: ["datetime.distance_in_words.less_than_x_minutes"]
1 problems in `en-ZA` locale: ["datetime.distance_in_words.less_than_x_minutes"]
7 problems in `eo` locale: ["datetime.distance_in_words.about_x_hours", "datetime.distance_in_words.about_x_months", "datetime.distance_in_words.about_x_years", "datetime.distance_in_words.almost_x_years", "datetime.distance_in_words.less_than_x_seconds", "datetime.distance_in_words.less_than_x_minutes", "datetime.distance_in_words.over_x_years"]
2 problems in `et` locale: ["datetime.distance_in_words.almost_x_years", "errors.template.header"]
11 problems in `eu` locale: ["datetime.distance_in_words.about_x_hours", "datetime.distance_in_words.about_x_months", "datetime.distance_in_words.about_x_years", "datetime.distance_in_words.almost_x_years", "datetime.distance_in_words.less_than_x_seconds", "datetime.distance_in_words.over_x_years", "datetime.distance_in_words.x_seconds", "datetime.distance_in_words.x_minutes", "datetime.distance_in_words.x_days", "datetime.distance_in_words.x_months", "errors.template.header"]
11 problems in `fa` locale: ["datetime.distance_in_words.about_x_hours", "datetime.distance_in_words.about_x_months", "datetime.distance_in_words.about_x_years", "datetime.distance_in_words.almost_x_years", "datetime.distance_in_words.less_than_x_seconds", "datetime.distance_in_words.less_than_x_minutes", "datetime.distance_in_words.over_x_years", "datetime.distance_in_words.x_seconds", "datetime.distance_in_words.x_minutes", "datetime.distance_in_words.x_days", "datetime.distance_in_words.x_months"]
13 problems in `fi` locale: ["datetime.distance_in_words.about_x_hours", "datetime.distance_in_words.about_x_months", "datetime.distance_in_words.about_x_years", "datetime.distance_in_words.almost_x_years", "datetime.distance_in_words.less_than_x_seconds", "datetime.distance_in_words.less_than_x_minutes", "datetime.distance_in_words.over_x_years", "datetime.distance_in_words.x_seconds", "datetime.distance_in_words.x_minutes", "datetime.distance_in_words.x_days", "datetime.distance_in_words.x_months", "datetime.distance_in_words.x_years", "errors.template.header"]
10 problems in `fr` locale: ["datetime.distance_in_words.about_x_hours", "datetime.distance_in_words.about_x_months", "datetime.distance_in_words.about_x_years", "datetime.distance_in_words.almost_x_years", "datetime.distance_in_words.less_than_x_seconds", "datetime.distance_in_words.less_than_x_minutes", "datetime.distance_in_words.over_x_years", "errors.messages.too_long", "errors.messages.too_short", "errors.messages.wrong_length"]
10 problems in `fr-CA` locale: ["datetime.distance_in_words.about_x_hours", "datetime.distance_in_words.about_x_months", "datetime.distance_in_words.about_x_years", "datetime.distance_in_words.almost_x_years", "datetime.distance_in_words.less_than_x_seconds", "datetime.distance_in_words.less_than_x_minutes", "datetime.distance_in_words.over_x_years", "errors.messages.too_long", "errors.messages.too_short", "errors.messages.wrong_length"]
10 problems in `fr-CH` locale: ["datetime.distance_in_words.about_x_hours", "datetime.distance_in_words.about_x_months", "datetime.distance_in_words.about_x_years", "datetime.distance_in_words.almost_x_years", "datetime.distance_in_words.less_than_x_seconds", "datetime.distance_in_words.less_than_x_minutes", "datetime.distance_in_words.over_x_years", "errors.messages.too_long", "errors.messages.too_short", "errors.messages.wrong_length"]
10 problems in `fr-FR` locale: ["datetime.distance_in_words.about_x_hours", "datetime.distance_in_words.about_x_months", "datetime.distance_in_words.about_x_years", "datetime.distance_in_words.almost_x_years", "datetime.distance_in_words.less_than_x_seconds", "datetime.distance_in_words.less_than_x_minutes", "datetime.distance_in_words.over_x_years", "errors.messages.too_long", "errors.messages.too_short", "errors.messages.wrong_length"]
16 problems in `fy` locale: ["datetime.distance_in_words.about_x_hours.one", "datetime.distance_in_words.about_x_months.one", "datetime.distance_in_words.about_x_years.one", "datetime.distance_in_words.almost_x_years.one", "datetime.distance_in_words.less_than_x_seconds.one", "datetime.distance_in_words.less_than_x_minutes", "datetime.distance_in_words.over_x_years.one", "datetime.distance_in_words.x_seconds.one", "datetime.distance_in_words.x_minutes.one", "datetime.distance_in_words.x_days.one", "datetime.distance_in_words.x_months.one", "datetime.distance_in_words.x_years.one", "errors.messages.too_long.one", "errors.messages.too_short.one", "errors.messages.wrong_length.one", "errors.template.header.one"]
2 problems in `gl` locale: ["datetime.distance_in_words.about_x_hours", "datetime.distance_in_words.over_x_years"]
12 problems in `he` locale: ["datetime.distance_in_words.about_x_hours", "datetime.distance_in_words.about_x_months", "datetime.distance_in_words.about_x_years", "datetime.distance_in_words.almost_x_years", "datetime.distance_in_words.less_than_x_seconds", "datetime.distance_in_words.less_than_x_minutes", "datetime.distance_in_words.over_x_years", "datetime.distance_in_words.x_seconds", "datetime.distance_in_words.x_minutes", "datetime.distance_in_words.x_days", "datetime.distance_in_words.x_months", "errors.template.header"]
10 problems in `hi` locale: ["datetime.distance_in_words.about_x_hours", "datetime.distance_in_words.almost_x_years", "datetime.distance_in_words.less_than_x_seconds", "datetime.distance_in_words.less_than_x_minutes", "datetime.distance_in_words.over_x_years", "datetime.distance_in_words.x_seconds", "datetime.distance_in_words.x_minutes", "datetime.distance_in_words.x_days", "datetime.distance_in_words.x_months", "errors.template.header"]
10 problems in `hi-IN` locale: ["datetime.distance_in_words.about_x_hours", "datetime.distance_in_words.almost_x_years", "datetime.distance_in_words.less_than_x_seconds", "datetime.distance_in_words.less_than_x_minutes", "datetime.distance_in_words.over_x_years", "datetime.distance_in_words.x_seconds", "datetime.distance_in_words.x_minutes", "datetime.distance_in_words.x_days", "datetime.distance_in_words.x_months", "errors.template.header"]
9 problems in `id` locale: ["datetime.distance_in_words.about_x_hours", "datetime.distance_in_words.about_x_months", "datetime.distance_in_words.about_x_years", "datetime.distance_in_words.almost_x_years", "datetime.distance_in_words.over_x_years", "datetime.distance_in_words.x_seconds", "datetime.distance_in_words.x_minutes", "datetime.distance_in_words.x_days", "datetime.distance_in_words.x_months"]
1 problems in `is` locale: ["errors.template.header"]
7 problems in `it` locale: ["datetime.distance_in_words.about_x_hours", "datetime.distance_in_words.about_x_months", "datetime.distance_in_words.about_x_years", "datetime.distance_in_words.almost_x_years", "datetime.distance_in_words.less_than_x_seconds", "datetime.distance_in_words.less_than_x_minutes", "datetime.distance_in_words.over_x_years"]
6 problems in `it-CH` locale: ["datetime.distance_in_words.about_x_hours", "datetime.distance_in_words.about_x_months", "datetime.distance_in_words.about_x_years", "datetime.distance_in_words.less_than_x_seconds", "datetime.distance_in_words.less_than_x_minutes", "datetime.distance_in_words.over_x_years"]
7 problems in `kn` locale: ["datetime.distance_in_words.about_x_hours", "datetime.distance_in_words.about_x_months", "datetime.distance_in_words.about_x_years", "datetime.distance_in_words.almost_x_years", "datetime.distance_in_words.less_than_x_seconds", "datetime.distance_in_words.less_than_x_minutes", "datetime.distance_in_words.over_x_years"]
8 problems in `lb` locale: ["datetime.distance_in_words.about_x_hours", "datetime.distance_in_words.about_x_months", "datetime.distance_in_words.about_x_years", "datetime.distance_in_words.almost_x_years", "datetime.distance_in_words.less_than_x_seconds", "datetime.distance_in_words.less_than_x_minutes", "datetime.distance_in_words.over_x_years", "errors.messages.wrong_length"]
10 problems in `mg` locale: ["datetime.distance_in_words.about_x_hours", "datetime.distance_in_words.about_x_months", "datetime.distance_in_words.about_x_years", "datetime.distance_in_words.almost_x_years", "datetime.distance_in_words.less_than_x_seconds", "datetime.distance_in_words.less_than_x_minutes", "datetime.distance_in_words.over_x_years", "errors.messages.too_long", "errors.messages.too_short", "errors.messages.wrong_length"]
4 problems in `ml` locale: ["datetime.distance_in_words.less_than_x_seconds", "datetime.distance_in_words.less_than_x_minutes", "datetime.distance_in_words.over_x_years", "errors.template.header"]
13 problems in `mr-IN` locale: ["datetime.distance_in_words.about_x_hours", "datetime.distance_in_words.almost_x_years", "datetime.distance_in_words.less_than_x_seconds", "datetime.distance_in_words.less_than_x_minutes", "datetime.distance_in_words.over_x_years", "datetime.distance_in_words.x_seconds", "datetime.distance_in_words.x_minutes", "datetime.distance_in_words.x_days", "datetime.distance_in_words.x_months", "errors.messages.too_long", "errors.messages.too_short", "errors.messages.wrong_length", "errors.template.header"]
2 problems in `ms` locale: ["datetime.distance_in_words.less_than_x_seconds", "datetime.distance_in_words.less_than_x_minutes"]
1 problems in `nb` locale: ["errors.template.header"]
7 problems in `nl` locale: ["datetime.distance_in_words.about_x_hours", "datetime.distance_in_words.about_x_months", "datetime.distance_in_words.about_x_years", "datetime.distance_in_words.almost_x_years", "datetime.distance_in_words.less_than_x_seconds", "datetime.distance_in_words.less_than_x_minutes", "datetime.distance_in_words.over_x_years"]
15 problems in `oc` locale: ["datetime.distance_in_words.about_x_hours", "datetime.distance_in_words.about_x_months", "datetime.distance_in_words.about_x_years", "datetime.distance_in_words.almost_x_years", "datetime.distance_in_words.less_than_x_seconds", "datetime.distance_in_words.less_than_x_minutes", "datetime.distance_in_words.over_x_years", "datetime.distance_in_words.x_seconds", "datetime.distance_in_words.x_minutes", "datetime.distance_in_words.x_days", "datetime.distance_in_words.x_months", "datetime.distance_in_words.x_years", "errors.messages.too_long", "errors.messages.too_short", "errors.messages.wrong_length"]
11 problems in `pl` locale: ["datetime.distance_in_words.about_x_hours", "datetime.distance_in_words.about_x_months", "datetime.distance_in_words.about_x_years", "datetime.distance_in_words.almost_x_years", "datetime.distance_in_words.less_than_x_seconds", "datetime.distance_in_words.less_than_x_minutes", "datetime.distance_in_words.over_x_years", "errors.messages.too_long", "errors.messages.too_short", "errors.messages.wrong_length", "errors.template.header"]
1 problems in `pt` locale: ["datetime.distance_in_words.less_than_x_minutes"]
1 problems in `pt-BR` locale: ["datetime.distance_in_words.less_than_x_minutes"]
9 problems in `rm` locale: ["datetime.distance_in_words.about_x_hours", "datetime.distance_in_words.about_x_months", "datetime.distance_in_words.about_x_years", "datetime.distance_in_words.less_than_x_seconds", "datetime.distance_in_words.less_than_x_minutes", "datetime.distance_in_words.over_x_years", "datetime.distance_in_words.x_seconds", "datetime.distance_in_words.x_days", "datetime.distance_in_words.x_months"]
7 problems in `ro` locale: ["datetime.distance_in_words.about_x_hours", "datetime.distance_in_words.about_x_months", "datetime.distance_in_words.about_x_years", "datetime.distance_in_words.less_than_x_seconds", "datetime.distance_in_words.less_than_x_minutes", "datetime.distance_in_words.over_x_years", "errors.template.header"]
16 problems in `sc` locale: ["datetime.distance_in_words.about_x_hours", "datetime.distance_in_words.about_x_months", "datetime.distance_in_words.about_x_years", "datetime.distance_in_words.almost_x_years", "datetime.distance_in_words.less_than_x_seconds", "datetime.distance_in_words.less_than_x_minutes", "datetime.distance_in_words.over_x_years", "datetime.distance_in_words.x_seconds.one", "datetime.distance_in_words.x_minutes.one", "datetime.distance_in_words.x_days.one", "datetime.distance_in_words.x_months.one", "datetime.distance_in_words.x_years.one", "errors.messages.too_long.one", "errors.messages.too_short.one", "errors.messages.wrong_length.one", "errors.template.header.one"]
12 problems in `sk` locale: ["datetime.distance_in_words.about_x_hours", "datetime.distance_in_words.about_x_months", "datetime.distance_in_words.about_x_years", "datetime.distance_in_words.almost_x_years", "datetime.distance_in_words.less_than_x_seconds", "datetime.distance_in_words.less_than_x_minutes", "datetime.distance_in_words.over_x_years", "datetime.distance_in_words.x_seconds", "datetime.distance_in_words.x_minutes", "datetime.distance_in_words.x_days", "datetime.distance_in_words.x_months", "errors.template.header"]
2 problems in `sl` locale: ["datetime.distance_in_words.less_than_x_minutes", "errors.template.header"]
1 problems in `sq` locale: ["datetime.distance_in_words.less_than_x_minutes"]
16 problems in `st` locale: ["datetime.distance_in_words.about_x_hours", "datetime.distance_in_words.about_x_months", "datetime.distance_in_words.about_x_years", "datetime.distance_in_words.almost_x_years", "datetime.distance_in_words.less_than_x_seconds", "datetime.distance_in_words.less_than_x_minutes", "datetime.distance_in_words.over_x_years", "datetime.distance_in_words.x_seconds", "datetime.distance_in_words.x_minutes", "datetime.distance_in_words.x_days", "datetime.distance_in_words.x_months", "datetime.distance_in_words.x_years", "errors.messages.too_long", "errors.messages.too_short", "errors.messages.wrong_length", "errors.template.header"]
13 problems in `sv` locale: ["datetime.distance_in_words.about_x_hours", "datetime.distance_in_words.about_x_months", "datetime.distance_in_words.about_x_years", "datetime.distance_in_words.almost_x_years", "datetime.distance_in_words.less_than_x_seconds", "datetime.distance_in_words.less_than_x_minutes", "datetime.distance_in_words.over_x_years", "datetime.distance_in_words.x_seconds", "datetime.distance_in_words.x_minutes", "datetime.distance_in_words.x_days", "datetime.distance_in_words.x_months", "datetime.distance_in_words.x_years", "errors.template.header"]
12 problems in `sv-FI` locale: ["datetime.distance_in_words.about_x_hours", "datetime.distance_in_words.about_x_months", "datetime.distance_in_words.about_x_years", "datetime.distance_in_words.almost_x_years", "datetime.distance_in_words.less_than_x_seconds", "datetime.distance_in_words.less_than_x_minutes", "datetime.distance_in_words.over_x_years", "datetime.distance_in_words.x_seconds", "datetime.distance_in_words.x_minutes", "datetime.distance_in_words.x_days", "datetime.distance_in_words.x_months", "errors.template.header"]
13 problems in `sv-SE` locale: ["datetime.distance_in_words.about_x_hours", "datetime.distance_in_words.about_x_months", "datetime.distance_in_words.about_x_years", "datetime.distance_in_words.almost_x_years", "datetime.distance_in_words.less_than_x_seconds", "datetime.distance_in_words.less_than_x_minutes", "datetime.distance_in_words.over_x_years", "datetime.distance_in_words.x_seconds", "datetime.distance_in_words.x_minutes", "datetime.distance_in_words.x_days", "datetime.distance_in_words.x_months", "datetime.distance_in_words.x_years", "errors.template.header"]
3 problems in `sw` locale: ["datetime.distance_in_words.about_x_hours", "datetime.distance_in_words.almost_x_years", "errors.template.header"]
5 problems in `ta` locale: ["datetime.distance_in_words.less_than_x_seconds", "datetime.distance_in_words.less_than_x_minutes", "datetime.distance_in_words.over_x_years", "errors.messages.too_long", "errors.messages.too_short"]
16 problems in `te` locale: ["datetime.distance_in_words.about_x_hours", "datetime.distance_in_words.about_x_months", "datetime.distance_in_words.about_x_years", "datetime.distance_in_words.almost_x_years", "datetime.distance_in_words.less_than_x_seconds", "datetime.distance_in_words.less_than_x_minutes", "datetime.distance_in_words.over_x_years", "datetime.distance_in_words.x_seconds", "datetime.distance_in_words.x_minutes", "datetime.distance_in_words.x_days", "datetime.distance_in_words.x_months", "datetime.distance_in_words.x_years", "errors.messages.too_long", "errors.messages.too_short", "errors.messages.wrong_length", "errors.template.header"]
12 problems in `tl` locale: ["datetime.distance_in_words.about_x_hours", "datetime.distance_in_words.about_x_months", "datetime.distance_in_words.about_x_years", "datetime.distance_in_words.almost_x_years", "datetime.distance_in_words.less_than_x_seconds", "datetime.distance_in_words.less_than_x_minutes", "datetime.distance_in_words.over_x_years", "datetime.distance_in_words.x_seconds", "datetime.distance_in_words.x_minutes", "datetime.distance_in_words.x_days", "datetime.distance_in_words.x_months", "errors.template.header"]
14 problems in `tt` locale: ["datetime.distance_in_words.about_x_hours", "datetime.distance_in_words.about_x_months", "datetime.distance_in_words.about_x_years", "datetime.distance_in_words.almost_x_years", "datetime.distance_in_words.less_than_x_seconds", "datetime.distance_in_words.less_than_x_minutes", "datetime.distance_in_words.over_x_years", "datetime.distance_in_words.x_seconds", "datetime.distance_in_words.x_minutes", "datetime.distance_in_words.x_days", "datetime.distance_in_words.x_months", "errors.messages.too_long", "errors.messages.too_short", "errors.messages.wrong_length"]
15 problems in `ug` locale: ["datetime.distance_in_words.about_x_hours", "datetime.distance_in_words.about_x_months", "datetime.distance_in_words.about_x_years", "datetime.distance_in_words.almost_x_years", "datetime.distance_in_words.less_than_x_seconds", "datetime.distance_in_words.less_than_x_minutes", "datetime.distance_in_words.over_x_years", "datetime.distance_in_words.x_seconds", "datetime.distance_in_words.x_minutes", "datetime.distance_in_words.x_days", "datetime.distance_in_words.x_months", "errors.messages.too_long", "errors.messages.too_short", "errors.messages.wrong_length", "errors.template.header"]
15 problems in `ur` locale: ["datetime.distance_in_words.about_x_hours", "datetime.distance_in_words.about_x_months", "datetime.distance_in_words.about_x_years", "datetime.distance_in_words.almost_x_years", "datetime.distance_in_words.less_than_x_seconds", "datetime.distance_in_words.less_than_x_minutes", "datetime.distance_in_words.over_x_years", "datetime.distance_in_words.x_seconds", "datetime.distance_in_words.x_minutes", "datetime.distance_in_words.x_days", "datetime.distance_in_words.x_months", "errors.messages.too_long", "errors.messages.too_short", "errors.messages.wrong_length", "errors.template.header"]
1 problems in `wo` locale: ["datetime.distance_in_words.less_than_x_minutes"]
Total: 566 problems in 71 locales

Before this PR there were 1437 problems in 101 locales, so we managed to clean up just 60% of the issues.

other: quase %{count} anos
half_a_minute: meio minuto
less_than_x_seconds:
one: menos de 1 segundo
one: menos de %{count} segundo
other: menos de %{count} segundos
less_than_x_minutes:
one: menos de um minuto
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You missed this one too:

one: menos de %{count} minuto

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Use of %{count} inside the one: form of pluralization rules?
5 participants