Le concept de formatage de grands nombres de manière abrégée pour un affichage occasionnel et non scientifique (par exemple 12 345 en "12,3 k") est bien exploré sur SE:
Mais aucun de ceux-ci ne concerne l'internationalisation et la localisation. Existe-t-il des normes différentes sur la façon de procéder pour d'autres langues ou paramètres régionaux? Surtout:
Il existe absolument différentes normes pour donner de grands nombres dans un format court.
Ce n'est pas une ressource très conviviale, mais développée pour les développeurs de logiciels, c'est le Common Locale Data Repository de l'organisation Unicode. Ils ont toutes sortes de données pour afficher des choses comme les nombres et les dates dans différents endroits (pas seulement les langues mais aussi les variations régionales des langues, comme l'anglais britannique et américain peuvent différer, par exemple). Ils ont ces fichiers qui décrivent comment formater les nombres de manière courte .
Si vous allez dans leur dépôt et ouvrez le fichier pour la langue que vous voulez, et vous recherchez "decimalFormats-numberSystem-latn
", vous trouverez la courte section qui spécifie comment formater les nombres dans cette langue.
Alors, voici ce que vous trouvez pour 'en_GB' (anglais pour le Royaume-Uni) :
"short": {
"decimalFormat": {
"1000-count-one": "0K",
"1000-count-other": "0K",
"10000-count-one": "00K",
"10000-count-other": "00K",
"100000-count-one": "000K",
"100000-count-other": "000K",
"1000000-count-one": "0M",
"1000000-count-other": "0M",
"10000000-count-one": "00M",
"10000000-count-other": "00M",
"100000000-count-one": "000M",
"100000000-count-other": "000M",
"1000000000-count-one": "0B",
"1000000000-count-other": "0B",
"10000000000-count-one": "00B",
"10000000000-count-other": "00B",
"100000000000-count-one": "000B",
"100000000000-count-other": "000B",
"1000000000000-count-one": "0T",
"1000000000000-count-other": "0T",
"10000000000000-count-one": "00T",
"10000000000000-count-other": "00T",
"100000000000000-count-one": "000T",
"100000000000000-count-other": "000T"
}
En regardant le fichier 'ja' (pour le japonais) , vous obtenez quelque chose de différent:
"short": {
"decimalFormat": {
"1000-count-other": "0千",
"10000-count-other": "0万",
"100000-count-other": "00万",
"1000000-count-other": "000万",
"10000000-count-other": "0000万",
"100000000-count-other": "0億",
"1000000000-count-other": "00億",
"10000000000-count-other": "000億",
"100000000000-count-other": "0000億",
"1000000000000-count-other": "0兆",
"10000000000000-count-other": "00兆",
"100000000000000-count-other": "000兆"
}
(Si vous voyez des personnages étranges comme å…†
lorsque vous l'ouvrez dans votre navigateur, vous devez vous assurer que vous configurez votre navigateur pour afficher le codage du fichier comme 'Unicode'.)
... Ce n'est pas la solution la plus élégante, mais elle devrait vous aider à trouver ce que vous cherchez.