Plusieurs fois, lors de la génération de messages à afficher à l'utilisateur, le message contiendra un certain nombre de chose que je tiens à informer le client à ce sujet.
Je vais vous donner un exemple: Le client a choisi un certain nombre d'éléments à partir de 1, et a cliqué sur supprimer. Maintenant, je veux donner un message de confirmation au client, et je tiens à mentionner le nombre d'éléments qu'il a choisi pour minimiser la possibilité de lui faire une erreur en sélectionnant un tas d'éléments et en cliquant sur supprimer quand il ne veut supprimer l'un d'eux.
Une façon est de faire le générique de message comme ceci:
int noofitemsselected = SomeFunction();
string message = "You have selected " + noofitemsselected + " item(s). Are you sure you want to delete it/them?";
Le "problème" ici, c'est le cas où l' noofitemselected
est de 1, et nous avons à écrire élément et il à la place des éléments et leur.
Ma solution normale sera quelque chose comme ceci
int noofitemsselected = SomeFunction();
string message = "You have selected " + noofitemsselected + " " + (noofitemsselected==1?"item" : "items") + ". Are you sure you want to delete " + (noofitemsselected==1?"it" : "them") + "?";
Cela devient très long et très méchant vraiment rapide si il y a beaucoup de références aux numéros de la pluralité à l'intérieur du code, et le message devient difficile à lire.
Donc ma questions est tout simplement. Sont-il de meilleures façons de générer des messages de ce genre?
MODIFIER
Je vois beaucoup de personnes a obtenu très accroché dans le cas que j'ai mentionné que le message doit être affiché à l'intérieur d'une boîte de message, et a tout simplement donné une réponse sur la façon d'éviter d'utiliser la boîte de message, et c'est tout bon.
Mais rappelez-vous que le problème de la pluralisation également s'appliquer à des textes d'autres endroits du programme, en plus des boîtes de message. Par exemple, une étiquette à côté d'une grille afficher le nombre de lignes sélectionnées dans la grille ont le même problème concernant la pluralisation.
Donc en fait cela s'applique à la plupart de texte qui est sorti d'une certaine façon de programmes, puis la solution n'est pas aussi simple que juste de changer le programme pour pas de texte de sortie plus :)