Обнаружена небольшая ошибка: при создании события плагин не учитывает локаль пользователя с 12-часовым форматом времени и всегда отображает 24-часовой формат. Это затрудняет ввод событий и повышает риск ошибок для пользователей из США, которые не используют 24-часовой формат.
Спасибо, что указали на это! У меня был аналогичный опыт при вставке даты/времени в тему, где наблюдается та же проблема. Я считаю, что это известная ошибка, и есть объяснение. Ввод следует региону вашего устройства, а не локали, установленной в ваших настройках Discourse. Однако отображение следует вашей локали в настройках Discourse (а также локали любого пользователя, просматривающего ваш пост с событием или датой/временем). Можете ли вы подтвердить это с вашей стороны?
Конечно, было бы менее запутанно и лучше с точки зрения UX, если бы они совпадали для пользователя, создающего событие или добавляющего дату/время в пост.
Вот демонстрация. Обратите внимание на скриншоте ниже на выбранное время 16:00, но в поле ввода указано 16:00. Причина этого в том, что мой регион устройства установлен на Германию (где используется 24-часовой формат), тогда как моя локаль Discourse — US-WA (где используется 12-часовой формат). Ввод, похоже, следует локали устройства.
Это отображается в виде [date=2025-04-01 time=16:00:00 timezone="America/Los_Angeles"] в Markdown, что корректно отображается у меня как 16:00: 2025-04-01T23:00:00Z.
При установленном регионе Соединенные Штаты при вставке даты/времени в тему время ввода также отображается в 12-часовом формате. Markdown остается тем же: [date=2025-04-01 time=16:00:00 timezone="America/Los_Angeles"], и корректно отображается как 16:00: 2025-04-01T23:00:00Z.
Спасибо за подробный ответ (и от такого же уроженца штата Вашингтон, между прочим :))
Итак, эта ошибка касается именно плагина «Вставить событие» (официальный плагин), а не функции «Вставить дату/время» (встроенной). Я полностью понимаю вашу путаницу: когда я впервые попробовал использовать плагин, я тоже нажал на дату/время вместо события и не мог понять, почему событие не создается.
Раз мы оба запутались в этом, есть возможность улучшить интерфейс:
В идеальном мире эти функции можно было бы объединить в одну кнопку, которая спрашивает у пользователя, хочет ли он создать событие или указать время. (Однако это потребовало бы значительной переработки кода)
Более простой вариант: если кнопка «Событие» располагалась бы непосредственно рядом с кнопкой «Дата/время», а не была скрыта под значком «ещё» (шестерёнка), это, вероятно, сразу предупредило бы пользователя о наличии двух разных сценариев. (Я не проверял, возможно ли это технически, но со стороны реализации это кажется более простым)
Тем не менее, отвечая на ваши вопросы:
Когда я использую вставить дату/время, у меня действительно отображается 12-часовой формат времени
Требование 24-часового формата возникает только при использовании функции вставить событие
Что касается региональных настроек устройства: я не использую iOS, поэтому не уверен, какой параметр соответствует этому в других операционных системах. (Я работаю под Linux и проверил, что мой locale возвращает значения en_us или en_US.UTF-8… но, возможно, есть какая-то другая скрытая настройка). Можете ли вы подтвердить, что наблюдаете такое же поведение на странице «вставить событие» (а не только на странице «вставить дату/время»?) Похоже, что для этого форума данная функция не включена, поэтому, возможно, вам придётся запустить тестовый экземпляр, хотя, поскольку это официальный плагин, его должно быть легко получить.
О, интересно! Я углубился в тему того, как работает вставка даты/времени, и оказалось, что поведение отличается. Я только что проверил (мой устройство всё ещё показывает регион США) и вижу, что вы абсолютно правы! Всплывающее окно «Добавить событие» действительно запрашивает время в 24-часовом формате, хотя вставка даты/времени теперь использует 12-часовой формат.
Вставка даты/времени — это базовая функция, а «Добавить событие» является частью плагина calendar-and-event. Это совершенно разные функции. Поэтому давайте сосредоточимся на всплывающем окне «Добавить событие», в котором, судя по всему, есть ошибка в пользовательском интерфейсе, которую вы отлично описали в первом сообщении этой темы.
Улучшение интерфейса в меню редактора — это совершенно отдельная тема. Если вы хотите создать новую тему об этом, пожалуйста, не стесняйтесь.
Не очень логично, чтобы эти два механизма отличались друг от друга, но, полагаю, это отдельный вопрос UX!
Это абсолютно необходимо! Это проблема уже давно (и, возможно, заслуживает отдельной темы в ux). Я скрываю иконку «Вставить дату/время», чтобы избежать путаницы, но при этом мы теряем довольно полезный функционал.