Je pense qu'il y a un problème avec MessageFormat et les langues ayant plus ou moins de pluriels que l'anglais

En continuant la discussion de Prise en charge du format de message pour la localisation :

J’ai rencontré des problèmes en testant mon texte avec MessageFormat dans différentes langues, car cela ne fonctionnait pas en polonais.

Mais après avoir examiné un texte existant, je pense que l’erreur ne vient pas de mon côté, mais plutôt que quelque chose ne fonctionne pas comme prévu.

L’exemple que j’ai examiné se trouve dans la modale d’invitation : js.user.invited.invite.link_validity_MF

En anglais, tout va bien :

Cela fonctionne également en allemand :

Mais cela ne fonctionne pas en polonais :

Et cela ne fonctionne pas en chinois :

D’après le sujet de la documentation, je m’attendrais à ce que toutes ces traductions fonctionnent, et pas seulement la traduction allemande. Je suppose donc qu’il y a un bug quelque part qui affecte les langues ayant un nombre de pluriels différent de celui de l’anglais.

5 « J'aime »

Oui, le même problème, en utilisant zh-CN.

Toutes les chaînes de langue se terminant par MF sont cassées et affichées au format en-US.

Merci d’avoir signalé le problème ! Pensez-vous que cela ait pu être causé par un changement récent ? Ou est-ce que cela a toujours été comme ça ? :thinking:

Je ne sais pas. L’allemand fonctionne bien, donc je ne vois généralement pas que quelque chose est cassé. Je ne l’ai remarqué que parce que j’ai utilisé messageFormat pour la première fois hier et que j’ai choisi le polonais pour tester. La section de rembobinage de discussion est masquée s’il n’y a pas assez de messages, donc pour tester plus que la partie « autre », je voulais une langue avec plusieurs pluriels.

Je viens d’essayer une installation de développement basée sur la branche stable, et cela semble fonctionner là-bas :

1 « J'aime »

Je pense que cela devrait résoudre le problème :

Amélioration :

2 « J'aime »

J’ai vraiment eu de la malchance en choisissant le polonais comme langue avec un code de pays lors de mes tests, et si j’avais utilisé l’ukrainien, tout aurait fonctionné sans problème :cry: Cela m’aurait fait gagner beaucoup de temps.

1 « J'aime »