# Inconsistencia en la definición de plural

**URL:** https://meta.discourse.org/t/inconsistency-in-plural-definition/317456
**Category:** Bug
**Tags:** fixed
**Created:** [21 Julio, 2024 15:39 UTC](https://meta.discourse.org/t/inconsistency-in-plural-definition/317456 "2024-07-21T15:39:36Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![Moin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/moin/32/554653_2.png) [@Moin](https://meta.discourse.org/u/Moin)
#### Post date: [21 Julio, 2024 15:39 UTC](https://meta.discourse.org/t/inconsistency-in-plural-definition/317456/1 "2024-07-21T15:39:37Z")

</div>

Continuando la discusión desde [Problema con la sobrescritura de traducción pluralizada (count)](https://meta.discourse.org/t/issue-with-pluralized-count-translation-override/316019/7):

Creo que el húngaro no es el único idioma afectado por esto. Después de revisar el hebreo debido a [esto](https://meta.discourse.org/t/bad-mf-translation-string-in-hebrew-client-locale-causes-fatal-site-error/317430/28?u=moin) #Contribute > Bug que menciona problemas, pensé que quizás incluso más idiomas están afectados, así que empecé a buscar más casos.

> <https://github.com/discourse/discourse/blob/main/config/locales/plurals.rb#L110-L110>

> <https://github.com/eemeli/make-plural/blob/main/packages/plurals/cardinals.js#L634-L634>

> <https://github.com/eemeli/make-plural/blob/main/packages/plurals/cardinals.js#L1-L1>

> <https://github.com/discourse/discourse/blob/main/config/locales/client.tr_TR.yml#L46-L50>

Después de encontrar otro, espero que incluso más idiomas estén afectados.

---

<div class="post-metadata">

### Author: ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)
#### Post date: [22 Julio, 2024 12:10 UTC](https://meta.discourse.org/t/inconsistency-in-plural-definition/317456/3 "2024-07-22T12:10:29Z")

</div>

¡Gracias @Moin!

He realizado [este cambio](https://github.com/discourse/discourse/pull/28015) para detener la hemorragia. Esto limitará el impacto de las compilaciones fallidas para que solo afecten a las cadenas `_MF`, en lugar de tumbar todo el sitio.

Seguiremos investigando la causa raíz y actualizaremos aquí cuando tengamos una solución.

---

<div class="post-metadata">

### Author: ![loic](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/loic/32/105621_2.png) [@loic](https://meta.discourse.org/u/loic)
#### Post date: [25 Julio, 2024 12:32 UTC](https://meta.discourse.org/t/inconsistency-in-plural-definition/317456/5 "2024-07-25T12:32:05Z")

</div>

Hemos fusionado un parche que relaja el compilador de MessageFormat, permitiendo claves plurales no válidas en los mensajes:

> <https://github.com/discourse/discourse/pull/28062>
>
> We can get translations with invalid plural keys from Crowdin or from custom ove…rrides. Currently, this will raise an error and the locales won’t be outputted at all.
> 
> This PR addresses this issue by using the new \`strict: false\` option of our \`messageformat-wrapper\` gem, allowing to generate locales even if there are invalid plural keys present.

Esto debería solucionar la mayoría de los problemas. Otros parches deberían seguir pronto.

---

<div class="post-metadata">

### Author: ![loic](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/loic/32/105621_2.png) [@loic](https://meta.discourse.org/u/loic)
#### Post date: [26 Julio, 2024 10:27 UTC](https://meta.discourse.org/t/inconsistency-in-plural-definition/317456/6 "2024-07-26T10:27:35Z")

</div>

Otro parche acaba de ser fusionado:

> <https://github.com/discourse/discourse/pull/28083>
>
> Currently, when adding translation overrides, values aren’t validated for MF str…ings. This results in being able to add invalid plural keys or even strings containing invalid syntax.
> 
> This PR addresses this issue by compiling the string when saving an override if the key is detected as an MF one.
> 
> If there’s an error from the compiler, it’s added to the model errors, which in turn is displayed to the user in the admin UI, helping them to understand what went wrong.
> 
> 
> 
> 
> \----
> 
> !\[image\](https://github.com/user-attachments/assets/7315f643-b764-411b-b962-92dac0cd0b20)
> !\[image\](https://github.com/user-attachments/assets/bb22c536-5bda-4f5f-8be6-6171b4427245)

Esto evitará la creación de anulaciones MF no válidas en la interfaz de administración.

---

<div class="post-metadata">

### Author: ![loic](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/loic/32/105621_2.png) [@loic](https://meta.discourse.org/u/loic)
#### Post date: [29 Julio, 2024 13:46 UTC](https://meta.discourse.org/t/inconsistency-in-plural-definition/317456/7 "2024-07-29T13:46:20Z")

</div>

Acabo de fusionar este PR:

> <https://github.com/discourse/discourse/pull/28097>
>
> The current pluralization rules used by the I18n system in Ruby are obsolete and… don’t follow the official rules available at https://www.unicode.org/cldr/charts/45/supplemental/language\_plural\_rules.html.
> 
> Using https://github.com/ruby-i18n/ruby-cldr, new and updated ones have been generated.

Las reglas de pluralización en Ruby ahora deberían estar actualizadas con las que tenemos en JS 🙂

---

<div class="post-metadata">

### Author: ![j.jaffeux](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/j.jaffeux/32/60297_2.png) [@j.jaffeux](https://meta.discourse.org/u/j.jaffeux)
#### Post date: [3 Agosto, 2024 13:46 UTC](https://meta.discourse.org/t/inconsistency-in-plural-definition/317456/8 "2024-08-03T13:46:38Z")

</div>

Este tema se cerró automáticamente 5 días después de la última respuesta. Ya no se permiten nuevas respuestas.
