Suite à la discussion de Business Week Day :
Comme je l’ai mentionné dans le post lié, la locale n’est pas exactement la même chose que la langue de l’interface utilisateur.
Je prendrai KDE (Linux et Qt) comme exemple ici :
Comme on le voit, dans la première capture d’écran, on peut sélectionner la langue de l’interface. Celle-ci définit, bien sûr, la langue de l’interface et tout ce que vous voyez à l’écran, sauf ce qui est montré dans la deuxième capture.
La deuxième capture permet de définir la locale de l’utilisateur et de remplacer les nombres, l’heure, la monnaie, les unités et le tri.
Ceci est important car beaucoup utilisent le système dans leur langue préférée, mais vivent dans un pays différent où ils ont des préférences de locale différentes.
Je prendrai des exemples de ma région, la région arabe :
- Tous les pays ont l’arabe comme langue principale.
- Les pays du Machrek préfèrent utiliser les chiffres arabes orientaux (٠١٢٣٤٥٦٧٨٩), tandis que les pays du Maghreb préfèrent utiliser les chiffres arabes occidentaux (0123456789).
- L’Égypte, le Soudan et les pays du Golfe préfèrent utiliser les noms latins des mois, translittérés en arabe : Arabic names of Gregorian months - Wikipedia, tandis que le Levant et la Mésopotamie préfèrent utiliser les noms assyriens des mois : Arabic names of Gregorian months - Wikipedia, et les pays du Maghreb préfèrent utiliser la translittération des noms de mois français : Arabic names of Gregorian months - Wikipedia.
Par conséquent, les dates sont affectées par ces différences :
- Tous les pays écrivent de droite à gauche.
- Pays du Machrek : ١٢ يناير ٢٠٢٠ = 12 janvier 2020 (Lu de droite à gauche)
- Pays du Maghreb : 12 جانفي 2020 = 12 janvier 2020 (Lu de droite à gauche)
- Pour faire simple : qu’il s’agisse de chiffres orientaux ou occidentaux/arabes, l’écriture se fait de droite à gauche, ce qui rend encore plus difficile de décider des chiffres, sans parler du format.
Même le séparateur de milliers est différent :
(Les chiffres arabes orientaux ont également un autre séparateur : ١٠٬٠٠٠٫٠٠ :
Comment cela affecte Discourse :
- Formats de date et d’heure, nombres, début de la semaine de travail.
Ce qui n’est pas affecté :
- Dates relatives.
Solutions idéales :
- Extraire et intégrer les formats Unicode et permettre à l’utilisateur de sélectionner n’importe quelle locale qu’il souhaite. Cela nécessite réflexion car cela pourrait entrer en conflit avec Moment.JS.
- Fournir tous les moyens et méthodes pour que les traducteurs puissent sélectionner quel format afficher où dans le logiciel.


