Cela ne peut pas fonctionner pour tous les pays du monde, car beaucoup considèrent le dimanche comme le début de la semaine, ou un autre jour.
Comme suggéré par @gerhard, j’ouvre ce sujet pour discuter des solutions possibles.
La solution appropriée consisterait à prévoir une option de configuration par utilisateur pour définir le début de la semaine de travail, avec lundi par défaut. (Ensuite, nous remplacerions “lundi” par “Début de la semaine de travail”, avec un lien vers l’option de configuration qui apparaît lors de la sélection de cette option).
J’ai aussi pensé que l’administrateur du site pourrait configurer cela, mais j’ai estimé que de nombreux forums ne sont pas liés à un pays spécifique.
C’est bien noté, c’est un problème délicat pour tous les pays dont la semaine commence le dimanche. Israël, les Émirats arabes unis, le Népal, la Malaisie, l’Arabie saoudite et l’Iran entrent dans cette catégorie.
Je pense que nous devrions envisager un paramètre du type « premier jour de la semaine ». @martin, as-tu des idées sur la manière d’aborder cela ?
La solution la plus simple serait probablement de prévoir un moyen simple de supprimer l’option, mais je ne suis pas certain.
Je ne sais pas pourquoi je n’ai pas vérifié cela correctement lorsque j’ai fait cela ; il existe un moyen simple d’obtenir le premier jour de la semaine dans moment.js :
moment().startOf('week').day()
Puisque nous localisons déjà moment, cela fonctionne parfaitement. Je viens de le tester et avec la langue de mon site définie sur l’hébreu, le début de la semaine s’affiche comme 0 (dimanche), tandis que si je la remets en anglais, cela revient à 1 (lundi). Cela devrait être assez simple à mettre en place la semaine prochaine.
Si nous le voulions vraiment, nous pourrions avoir un paramètre au niveau du site pour « jour de début de semaine », mais je ne suis pas sûr que nous voulions quelque chose comme ça pour le calendrier ? Bien que cela ne soit probablement pas souhaitable lorsque les utilisateurs peuvent définir leur propre localisation.
Je pense que cela devrait être une option utilisateur. La détection par langue pourrait ne pas suffire, car le début de la semaine varie selon les pays. De plus, tous les sites n’activent pas le paramètre de localisation utilisateur. Peut-être utiliser moment.js pour pré-sélectionner la valeur, comme nous le faisons pour le fuseau horaire ?
Et pour une note secondaire, la langue est différente de la locale, car je peux être au Royaume-Uni mais utiliser le site en arabe.
C’est également un aspect que les systèmes prennent en compte, car ils disposent d’options distinctes pour la locale et la langue de l’interface utilisateur.
Cela affecte principalement les dates, les heures et les nombres, sujet sur lequel j’ouvrirai un autre discussion pour voir s’il est vraiment nécessaire de les modifier (car cela touche de très nombreuses parties de Discourse).