Problème avec la surcharge de traduction plurielle (compteur)

Bonjour :wave:

J’ai remarqué que la dernière mise à jour utilise la version one des chaînes pluralisées si le nombre est 1. Le problème est que jusqu’à présent, les chaînes pluralisées utilisaient toujours la version other, même si le nombre est 1, et sur /admin/customize/site_texts/, il n’y a pas d’option pour trouver la version one de la chaîne, par exemple pour la langue hongroise. Cependant, en hongrois, il n’y a aucune raison d’utiliser les deux versions (one et other) car elles seront pratiquement identiques.

Repro :

  1. Changer la locale, par exemple le hongrois.
  2. Aller sur /admin/customize/site_texts/.
  3. Rechercher par exemple js.topic_count_latest et modifier le texte.
  4. Vérifier sur la bannière « Voir les sujets nouveaux ou mis à jour ».
  5. Elle utilisera la valeur par défaut lorsqu’il n’y a qu’une seule mise à jour disponible car la chaîne que vous avez modifiée est la version other. S’il y a plus de sujets nouveaux ou mis à jour, le texte sera modifié pour correspondre à ce que vous aviez ajouté auparavant.

Merci :slightly_smiling_face:

3 « J'aime »

Bonjour @Don

J’ai effectué ce test en chinois simplifié et je n’ai pas pu reproduire ce problème :thinking:

J’ai ajouté un caractère supplémentaire (surligné) à la chaîne d’origine. Et le changement s’est produit lorsque le compte était de 1.

1 « J'aime »

Les deux langues n’ont que « other » dans leur définition des pluriels

Mais le hongrois a toujours des traductions distinctes pour « one ».

ce que le chinois n’a pas

Je me demande pourquoi la version distincte « one » est créée dans Crowdin

2 « J'aime »

Oui, il existe deux versions dans la locale hongroise (one et other), mais je pense qu’elle n’a jamais utilisé la version one jusqu’à présent car elle n’est pas non plus disponible dans la personnalisation du texte d’administration. Elle s’est toujours rabattue sur la version other.

1 « J'aime »

Puis-je demander, le hongrois a-t-il des formes plurielles ? Si oui, peut-être devrions-nous ajouter la définition : un à plurals.rb

1 « J'aime »

J’ai trouvé la cause du problème. La I18n de Discourse repose sur la définition du pluriel d’une bibliothèque externe :

https://github.com/discourse/discourse/blob/main/app/assets/javascripts/discourse-i18n/src/index.js#L7

Mais dans cette bibliothèque, nous pouvons voir que le hongrois est défini comme utilisant des pluriels de type « a », qui distinguent entre un et les autres.

Je ne comprends pas du tout le hongrois, peut-être que quelqu’un pourrait m’aider à savoir si leur définition du pluriel est erronée ou si la nôtre :slightly_smiling_face:

3 « J'aime »

Bonjour :waving_hand:

Merci de vérifier. :heart:

Eh bien, en hongrois, nous avons le pluriel mais pas toujours, ce qui rend les choses un peu difficiles. Mais laissez-moi vous expliquer quelques exemples simples.

La plupart des mots hongrois ont une version plurielle.
S’il est non comptable.
Par exemple
Groupe → Groupes = Csoport → Csoportok
Sujet → Sujets = Téma → Témák

Donc, je pense que la bibliothèque externe a raison dans le sens où nous avons une forme plurielle.

Mais nous n’utilisons pas le pluriel s’il y a un nombre (compte) avant les mots.
S’il est comptable.
Par exemple
1 groupe → 2 groupes = 1 csoport → 2 csoport
1 sujet → 2 sujets = 1 téma → 2 téma


Si vous vérifiez le fichier de langue hongroise, vous verrez que les pluriels sont toujours les mêmes.

Cependant, je vois qu’il y a des chaînes qui n’utilisent pas count sous la forme one.

Comme ceci :

C’est normal car nous n’avons pas besoin du compte dans ce cas, quand il n’y a qu’un seul sujet, c’est assez évident. Mais l’autre différence ici est seulement que le other apparaît comme un nombre. Le texte est le même, qu’il y ait un nombre ou non.


Donc, si vous me demandez, je supprimerais simplement la forme one.

Mais si cela provient d’une bibliothèque externe, ce qui est, je pense, correct, car le hongrois a une forme plurielle mais pas dans la plupart des cas que Discourse utilise. Donc, probablement, ajouter la forme one pour avoir la possibilité de la personnaliser serait la solution la plus simple pour éviter les problèmes. Oui, c’est presque pareil, mais au moins nous pouvons le personnaliser dans l’administration.

Je ne sais pas, c’est une question difficile. Car tous ceux qui gèrent un forum hongrois et ont effectué des personnalisations dans l’administration n’ont modifié que la forme other. Parce qu’elle revenait toujours à other depuis one. Donc, si nous ajoutons la forme one, les administrateurs devront réexaminer toutes les chaînes plurielles pour modifier également cette version afin qu’elle soit identique à other.

Merci :slightly_smiling_face:

2 « J'aime »

Merci pour votre réponse détaillée ! La correction de bug a été fusionnée :

La correction ajoute la forme :one pour le hongrois. Les futurs traducteurs Crowdin pourront essayer de supprimer %{count} pour le singulier afin de le différencier de la forme :other.

5 « J'aime »

Merci pour la correction rapide. :heart:

Je pense que c’est bon, le %{count} suit bien la locale anglaise. Qui n’utilise pas non plus %{count} dans certaines chaînes plurielles de forme one. Maintenant, le changement est que nous pouvons également modifier la forme one dans l’administration, ce qui est suffisant je pense dans ce cas. Je pense que si cela fonctionne correctement, il n’y a pas besoin d’autres changements. Je vais bientôt mettre à jour pour tester. :slightly_smiling_face:

Tout semble fonctionner à merveille :slightly_smiling_face: C’était un excellent passe-temps de changer tout cela, mais j’ai presque fini. :smile: Merci encore et merci aussi à @Moin d’avoir souligné cela. :heart:

4 « J'aime »

Ce sujet a été automatiquement fermé 2 jours après la dernière réponse. Les nouvelles réponses ne sont plus autorisées.

Suivi du problème plus large sur Inconsistency in plural definition

2 « J'aime »