Paul Eggert wrote:
On 2/25/19 2:32 AM, Martin Burnicki wrote:
If the current time zone names should indeed just be taken as IDs rather than real names then IMO it would be very helpful if there also was a list of mappings provided that links readable display names to TZDB ID names.
tzdb provides this in its combination of the files zone1970.tab and iso3166.tab, the latter useful if the former simply lists country codes. For example, zone1970.tab maps America/Porto_Velho to "Rondônia" (since the country of Brazil has multiple timezones), and maps Europe/Prague to CZ,SK which iso3166.tab in turn maps to "Czech Republic" and "Slovakia" (since this timezone has multiple countries).
The tzdb files support only American English; as Tony mentioned, for other locales CLDR is the way to go.
OK, but for "normal" users or even developers this may still be confusing enough. ;-)
For example, the zone "Europe/Macedonia" is displayed as "Europa/Makedonien" on my Linux/KDE system set to German language. That's odd, as tzdb has no zone named "Europe/Macedonia". North Macedonia is currently represented by Europe/Belgrade. If tzdb had a timezone named "Europe/Macedonia", we'd have to worry about renaming it to "Europe/North_Macedonia" now.
While "Europa/Makedonien" is shown in KDE, "Europe/Macedonia" comes from tzselect: $ tzselect Please identify a location so that time zone rules can be set correctly. Please select a continent or ocean. 1) Africa 2) Americas 3) Antarctica 4) Arctic Ocean 5) Asia 6) Atlantic Ocean 7) Australia 8) Europe 9) Indian Ocean 10) Pacific Ocean 11) none - I want to specify the time zone using the Posix TZ format. #? 8 Please select a country. 1) Aaland Islands 18) Greece 35) Norway 2) Albania 19) Guernsey 36) Poland 3) Andorra 20) Hungary 37) Portugal 4) Austria 21) Ireland 38) Romania 5) Belarus 22) Isle of Man 39) Russia 6) Belgium 23) Italy 40) San Marino 7) Bosnia & Herzegovina 24) Jersey 41) Serbia 8) Britain (UK) 25) Latvia 42) Slovakia 9) Bulgaria 26) Liechtenstein 43) Slovenia 10) Croatia 27) Lithuania 44) Spain 11) Czech Republic 28) Luxembourg 45) Sweden 12) Denmark 29) Macedonia 46) Switzerland 13) Estonia 30) Malta 47) Turkey 14) Finland 31) Moldova 48) Ukraine 15) France 32) Monaco 49) Vatican City 16) Germany 33) Montenegro 17) Gibraltar 34) Netherlands #? 29 The following information has been given: Macedonia Therefore TZ='Europe/Skopje' will be used. Local time is now: Tue Feb 26 09:18:33 CET 2019. Universal Time is now: Tue Feb 26 08:18:33 UTC 2019.
Perhaps the strings "Europe/Macedonia" and "Europa/Makedonien" are part of the KDE user interface to tzdb; if so, KDE will need to deal with the country's recent renaming.
I'm not sure if KDE uses CLDR or whatever, but from a pure user/developer's point of view I think there is still room for improvement to yield consistent information presented in the user interfaces. That would also avoid discussions as with the ID name for Ukraine, or the new liberland time just requested by a user. I'm aware that is really complex stuff, though. Martin -- Martin Burnicki Senior Software Engineer MEINBERG Funkuhren GmbH & Co. KG Email: martin.burnicki@meinberg.de Phone: +49 5281 9309-414 Linkedin: https://www.linkedin.com/in/martinburnicki/ Lange Wand 9, 31812 Bad Pyrmont, Germany Amtsgericht Hannover 17HRA 100322 Geschäftsführer/Managing Directors: Günter Meinberg, Werner Meinberg, Andre Hartmann, Heiko Gerstung Websites: https://www.meinberg.de https://www.meinbergglobal.com Training: https://www.meinberg.academy