Skip to content

Conversation

@0xFillin
Copy link

@0xFillin 0xFillin commented Mar 6, 2024

Rename Kiev to Kyiv

The city name is listed as “Kiev,” which is the russian variant.

Resolutions of UN Conferences on the Standardization of Geographical Names recommend that countries cut back on using exonyms (traditional names) and prioritise national official names in publications, documents, and on maps, and that they use latinization systems adopted and recommended by the UN Group of Experts on Geographical Names (as submitted by the particular country) in transliterating foreign toponyms (from languages not based on the Latin alphabet).

For international use of Ukrainian geographical names, the Ukrainian Romanization system is used, as recommended by Resolution X/9 “Romanization of Ukrainian geographical names” of the X UN Conference on the Standardization of Geographical Names (New York, 2012).

At that Conference, “Toponymic Guidelines for Map and other Editors. Ukraine (for international use)” were also approved, setting out the spelling rules for Ukrainian geographical names and their rendering in Latin, and information about the administrative and territorial division of Ukraine (in Ukrainian and Latin), which is available on the website of the UN Group of Experts on Geographical Names (UNGEGN).

https://unstats.un.org/UNSD/geoinfo/UNGEGN/ungegnConf10.html

Rename Kiev to Kyiv

The city name is listed as “Kiev,” which is the russian variant.

Resolutions of UN Conferences on the Standardization of Geographical Names recommend that countries cut back on using exonyms (traditional names) and prioritise national official names in publications, documents, and on maps, and that they use latinization systems adopted and recommended by the UN Group of Experts on Geographical Names (as submitted by the particular country) in transliterating foreign toponyms (from languages not based on the Latin alphabet).

For international use of Ukrainian geographical names, the Ukrainian Romanization system is used, as recommended by Resolution X/9 “Romanization of Ukrainian geographical names” of the X UN Conference on the Standardization of Geographical Names (New York, 2012).

At that Conference, “Toponymic Guidelines for Map and other Editors. Ukraine (for international use)” were also approved, setting out the spelling rules for Ukrainian geographical names and their rendering in Latin, and information about the administrative and territorial division of Ukraine (in Ukrainian and Latin), which is available on the website of the UN Group of Experts on Geographical Names (UNGEGN).

https://unstats.un.org/UNSD/geoinfo/UNGEGN/ungegnConf10.html
@pronskiy
Copy link
Member

pronskiy commented Mar 7, 2024

@remicollet
Copy link
Member

remicollet commented Mar 7, 2024

1/ timezone is managed in https://github.com/derickr/timelib

2/ Kyiv is there for a while

$ php -r 'print_r(DateTimeZone::listIdentifiers());' | grep Europe/K
    [331] => Europe/Kaliningrad
    [332] => Europe/Kirov
    [333] => Europe/Kyiv

3/ Kiev is still there as an alias (to avoid BC break)

$ php -r 'var_dump(new DateTimeZone("Europe/Kyiv"));'
object(DateTimeZone)#1 (2) {
  ["timezone_type"]=>
  int(3)
  ["timezone"]=>
  string(11) "Europe/Kyiv"
}
$ php -r 'var_dump(new DateTimeZone("Europe/Kiev"));'
object(DateTimeZone)#1 (2) {
  ["timezone_type"]=>
  int(3)
  ["timezone"]=>
  string(11) "Europe/Kiev"
}

@derickr may confirm

@derickr
Copy link
Member

derickr commented Mar 7, 2024

A few different things are being confused here.

@remicollet is right that this map is maintained at derickr/timelib, which is where this patch needs to go.

Europe/Kyiv and Europe/Kiev both exist and can be used, but Kiev only is returned when you specifically ask for BC names as well:

$l = timezone_identifiers_list();
var_dump(in_array("Europe/Kiev", $l));
var_dump(in_array("Europe/Kyiv", $l));

$l = timezone_identifiers_list(DateTimeZone::ALL_WITH_BC);
var_dump(in_array("Europe/Kiev", $l));
var_dump(in_array("Europe/Kyiv", $l));

Outputs:

bool(false)
bool(true)
bool(true)
bool(true)

This timezone map was automatically generated (in 2005). Duplicates of abbreviation/UTC-offset combinations are effectively never used. In fact, we probably can probably remove all of them.

This just leaves the one entry for kmt, which is only used once (with a strange UTC-offset), to change to Kyiv:

    { "kmt",   0,   7324, "Europe/Kiev"                   },

The main reason that this hadn't been changed yet, is that I simply forgot about this file existing. The timezone database itself made this change with the August 2022 data release, where I was also an active proponent of finally doing so.

I'm closing this PR here, but would welcome one against the v2022 branch of https://github.com/derickr/timelib/tree/v2022.

@derickr derickr closed this Mar 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants