[tz] tzdb timezone names/identifiers and links

Guy Harris guy at alum.mit.edu
Tue Feb 26 09:48:58 UTC 2019


On Feb 26, 2019, at 1:18 AM, Martin Burnicki <martin.burnicki at meinberg.de> wrote:

> Agreed, but in any case there needs to be some mapping so that a normal
> user can see that the correct timezone is proposed by default, or can be
> selected for the region where he's living.

A normal user probably doesn't even want to know what the heck a tzdb region *is*.  All they want is that the clock face on their smartwatch/clock on their smartphone/clock in the bar at the top or bottom of their screen display the correct current date and time, that their file manager report the correct creation/modification date and time for files, etc..

Thus, all that's needed is a way to determine where the machine is, either automatically (the best solution, if you have sufficient hardware and, for non-satnav receiver hardware, access to databases to map whatever "what radio station am I talking to" information it gets into an approximate location) or manually (by specifying, for example, the city/town/village you're in or near) and to map that to the appropriate tzdb region; there's nothing that the normal user *needs* to see.

> This can be hard for regions like Ukraine or Liberland, as I mentioned
> in one of my other emails.

For Liberland:

	If you have the "automatically" solution, your coordinates get mapped to Europe/Belgrade.  That mapping is nothing that the normal user needs to know, any more than they need to know the programming language in which the software running on their machine is written, or that selecting Switzerland under Europe as their location, and German as their preferred language, means they'll get a LANG environment variable containing "de_CH".

	If you have only the "manually" solution, the biggest problem is that Liberland:

		https://en.wikipedia.org/wiki/Liberland

does not yet appear to have any cities, so the tzdb region selector would have to take the name of the country, in any of the languages in which it has a name, and map it to Europe/Belgrade.  Again, that mapping is nothing that the normal user needs to know.

For Ukraine:

	If you have the "automatically" solution, your coordinates get mapped to Europe/Kiev.  That mapping is nothing that the normal user needs to know.

	If you have the "manually" solution, you'd enter the name of your city (or a nearby city) into the selector, in the appropriate language (which wouldn't mean "Kyiv", it'd mean something such as Київ if you're using Ukrainian), and it would get mapped to Europe/Kiev.  That mapping is nothing that the normal user needs to know.

If a normal user wants to see what tzdb region is being used, the UI should give, for example, the name of the city they selected (if they selected one), the name of the nearest city based on where the machine is, or the name of a "representative" city; it should *NOT* cough up some tzdb ID.

If some nerd (i.e., *not* a normal user) wants to know the tzdb region, they can do "ls -l /etc/localtime" and see what it's symlinked to.


More information about the tz mailing list