Обнаружена небольшая ошибка: при создании события плагин не учитывает локаль пользователя с 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!
Это абсолютно необходимо!! Эта проблема существует уже давно (и, возможно, заслуживает отдельной темы Contribute > UX). Я скрываю значок «Вставить дату/время», чтобы устранить путаницу, но из-за этого мы теряем весьма полезную функциональность.