# I18n\_lint.rb pluralization keys can't be \`zero\`

**URL:** https://meta.discourse.org/t/i18n-lint-rb-pluralization-keys-cant-be-zero/183351
**Category:** SSO
**Created:** [March 15, 2021, 7:43pm UTC](https://meta.discourse.org/t/i18n-lint-rb-pluralization-keys-cant-be-zero/183351 "2021-03-15T19:43:40Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [March 15, 2021, 7:43pm UTC](https://meta.discourse.org/t/i18n-lint-rb-pluralization-keys-cant-be-zero/183351/1 "2021-03-15T19:43:40Z")

</div>

Why can’t I have a `zero` serialization in `client.en.yml`?

> <https://github.com/literatecomputing/discourse-max-topics-per-month/blob/main/config/locales/client.en.yml#L5>

> <https://github.com/discourse/discourse/blob/main/script/i18n_lint.rb#L38>

> <https://github.com/discourse/discourse/blob/main/script/i18n_lint.rb#L33>

Is there a reason not to use `PLURALIZATION_KEYS` rather than `ENGLISH_KEYS` here?

> <https://github.com/discourse/discourse/blob/main/script/i18n_lint.rb#L125>

The `zero` appears to work fine in my code (which is broken for at least one other reason not caught by my tests).

---

<div class="post-metadata">

### Author: ![gerhard](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/gerhard/32/119479_2.png) [@gerhard](https://meta.discourse.org/u/gerhard)
#### Post date: [March 16, 2021, 11:03am UTC](https://meta.discourse.org/t/i18n-lint-rb-pluralization-keys-cant-be-zero/183351/2 "2021-03-16T11:03:46Z")

</div>

> [@pfaffman](#):
>
> The `zero` appears to work fine in my code (which is broken for at least one other reason not caught by my tests).

It works because the i18n code has a special case for the zero key. You can continue using it as long as you don’t intend to use a translation platform like Transifex or Crowdin. Unless something changed, they support only keys defined by Unicode which are “one” and “other” for English. So, translating the “zero” key won’t work because those platforms ignore it when they parse English locale files.

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [March 16, 2021, 12:21pm UTC](https://meta.discourse.org/t/i18n-lint-rb-pluralization-keys-cant-be-zero/183351/3 "2021-03-16T12:21:09Z")

</div>

Darn. I’m afraid that makes sense. 😭

Thanks for the explanation.
