Esto no puede funcionar para todos los países del mundo, ya que en muchos el domingo es el inicio de la semana, o cualquier otro día.
Según la sugerencia de @gerhard, abro este tema para discutir posibles soluciones.
La solución adecuada sería tener una opción de configuración por usuario para definir el inicio de la semana laboral, con un valor predeterminado de lunes. (Y luego cambiaríamos “Lunes” por “Inicio de la semana laboral” con un enlace a la opción de configuración que aparecería al seleccionar esa opción).
También pensé si el administrador del sitio debería configurarlo, pero consideré que muchos foros no están limitados a un país.
Entendido, este es un tema complicado para todos los países que comienzan la semana el domingo. Israel, Emiratos Árabes Unidos, Nepal, Malasia, Arabia Saudita e Irán entran en esta categoría.
Supongo que deberíamos considerar algún tipo de configuración para el “primer día de la semana”. @martin, ¿tienes alguna idea sobre cómo deberíamos abordar esto?
Lo más sencillo sería simplemente tener una forma fácil de eliminar la opción, aunque no estoy seguro.
No estoy seguro de por qué no investigué esto adecuadamente cuando lo hice; hay una forma sencilla de obtener el primer día de la semana en moment.js:
moment().startOf('week').day()
Como ya localizamos moment, esto funciona muy bien. Acabo de probarlo y, con el idioma de mi sitio configurado en hebreo, el inicio de la semana aparece como 0 (domingo), mientras que si lo vuelvo a configurar en inglés, vuelve a ser 1 (lunes). Debería ser bastante sencillo poner esto en funcionamiento la próxima semana.
Si realmente quisiéramos, podríamos tener una configuración a nivel de sitio para “día de inicio de la semana”, aunque no estoy seguro de si querríamos algo así para el calendario. Aunque probablemente esto no sea deseable cuando los usuarios puedan establecer su propia configuración regional.
Creo que debería ser una opción del usuario. Detectarlo solo por idioma podría no ser suficiente, ya que el inicio de la semana varía según el país. Además, no todos los sitios habilitan la configuración de la configuración regional del usuario. ¿Quizás usar moment.js para preseleccionar el valor, como hacemos con la zona horaria?
Y como nota al margen, el idioma es diferente a la configuración regional, ya que podría estar en el Reino Unido pero usar el sitio en árabe.
Los sistemas también tienen esto en cuenta, ya que ofrecen opciones separadas para la configuración regional y el idioma de la interfaz de usuario.
Esto afecta principalmente a las fechas, la hora y los números. Abriré otro tema para discutirlo y ver si realmente es necesario cambiarlo (ya que afecta a muchas partes de Discourse).