Open
Description
Right now it is impossible to properly implement support for meridians on clocks. You can use require("locale").meridian(new Date())
to get the current meridian and display that somewhere in your clock. This will work in some cases but not in the following cases:
- The user's locale includes meridians but the user chose
24 hour clock
in settings. In this case, you will still be showing the meridians even though you are displaying a 24-hour clock. To remove the meridians, you must manually read the settings file and check if the setting is set to 12-hour or 24-hour, then you must stop displaying the meridian based on that information. That is not a very nice solution. - The user's locale does not include meridians but the user chose
12 hour clock
in settings. All locales that traditionally use 24-hour clocks do not have meridian information. If the user chooses a 12-hour clock here, you have no way of displaying a meridian.
Another issue is that there is no documentation on how to use the meridians. It seems like most clocks have simply opted to never show meridians, probably because they were not aware of it, or because they couldn't figure out how to use it properly.
I think we need the following changes to properly support meridians:
-
locale
should return an empty string for meridian when the user has chosen a 24-hour clock. (fixes problem 1) - Improve support for meridians #3535 - Include meridian names in all locales. (fixes problem 2)
- Document how to use meridians correctly in Bangle.js Internationalisation - Document use of meridian EspruinoDocs#735
- Add a section in Bangle.js Clock Faces on using
locale
correctly - Uselocale
in clock tutorial EspruinoDocs#736 - Add an
is12Hour
function tolocale
so apps can easily know which clock format the user has chosen. - Improve support for meridians #3535
The last one is not as important as the others, but I could imagine that some apps would want to change the layout depending on the clock format.
What do you think?
Metadata
Metadata
Assignees
Labels
No labels