[tz] Why did you rename Russian zone name abbreviations

Guy Harris guy at alum.mit.edu
Wed Nov 2 18:46:45 UTC 2016


On Nov 2, 2016, at 11:07 AM, Alexander Belopolsky <alexander.belopolsky at gmail.com> wrote:

> I don't think CLDR can supply translation of +10 to VLAT without help from tzdb.  In fact, I don't think CLDR even supports abbreviations - it looks like they only localize TZID's such as Asia/Vladivostok.

TZIDs aren't themselves localized, as they're really not intended to be used in user interfaces.

CLDR has entries that map from what they call "metazones" to both long and short time zone names; the short time zone names are abbreviations.

A "metazone" is a handle that's used for time zone names; it probably usually corresponds to what we think of as a "time zone", but there may be cases where it doesn't.  For example, there's a metazone called "America_Eastern", where "America" presumably means "the Americas" - in the same sense of "America" in tzids - rather than "the United States of America", as it's used for Canadian and Mexican time zones as well.  Its data in the CLDR's "main/en.xml" file is

	<metazone type="America_Eastern">
		<long>
			<generic>Eastern Time</generic>
			<standard>Eastern Standard Time</standard>
			<daylight>Eastern Daylight Time</daylight>
		</long>
		<short>
			<generic>ET</generic>
			<standard>EST</standard>
			<daylight>EDT</daylight>
		</short>
	</metazone>

and its data in the "main/fr.xml" file is

	<metazone type="America_Eastern">
		<long>
			<generic>heure de l’Est nord-américain</generic>
			<standard>heure normale de l’Est nord-américain</standard>
			<daylight>heure d’été de l’Est</daylight>
		</long>
	</metazone>

so they provide the long time zone name in French but use the same abbreviation for French and English.  The same applies for "main/es.xml" - the long names are in Spanish but the abbreviations fall back on the English ones.

A locale corresponding to a tzdb entry may move from one metazone to another if, for example, a locale switches from one time zone to another.  For example, the "supplemental/metaZones.xml" file has

	<timezone type="America/Indiana/Knox">
		<usesMetazone to="1991-10-27 07:00" mzone="America_Central"/>
		<usesMetazone to="2006-04-02 07:00" from="1991-10-27 07:00" mzone="America_Eastern"/>
		<usesMetazone from="2006-04-02 07:00" mzone="America_Central"/>
	</timezone>

because the tzdb entry for America/Indiana/Knox is:

	Zone America/Indiana/Knox -5:46:30 -	LMT	1883 Nov 18 12:13:30
				-6:00	US	C%sT	1947
				-6:00	Starke	C%sT	1962 Apr 29  2:00
				-5:00	-	EST	1963 Oct 27  2:00
				-6:00	US	C%sT	1991 Oct 27  2:00
				-5:00	-	EST	2006 Apr  2  2:00
				-6:00	US	C%sT

The CLDR doesn't cover the pre-1991 changes - I don't know whether they use the UNIX Epoch as a cutoff or not - but it covers the switch from Central time (C%sT, i.e. CST or CDT) to Eastern time in 1991 and the switch from Eastern time back to Central time in 2006.

For Vladivostok, the CLDR has

	<timezone type="Asia/Vladivostok">
		<usesMetazone mzone="Vladivostok"/>
	</timezone>

in supplemental/metaZones.xml, so there's a "Vladivostok" metazone and Asia/Vladivostok is always in that metazone.

The data for that metazone in main/en.xml is

	<metazone type="Vladivostok">
		<long>
			<generic>Vladivostok Time</generic>
			<standard>Vladivostok Standard Time</standard>
			<daylight>Vladivostok Summer Time</daylight>
		</long>
	</metazone>

and in main/ru.xml is

	<metazone type="Vladivostok">
		<long>
			<generic>Владивосток</generic>
			<standard>Владивосток, стандартное время</standard>
			<daylight>Владивосток, летнее время</daylight>
		</long>
	</metazone>

They do not have "short" names - i.e., abbreviations - for Vladivostok.  If the entry in main/en.xml were

	<metazone type="Vladivostok">
		<long>
			<generic>Vladivostok Time</generic>
			<standard>Vladivostok Standard Time</standard>
			<daylight>Vladivostok Summer Time</daylight>
		</long>
		<short>
			<generic>VLAT</generic>
			<standard>VLAST</standard>
			<daylight>VLADT</daylight>
		</short>
	</metazone>

or something such as that, the CLDR could handle providing an abbreviation, and if a different abbreviation were appropriate in Russian, <short> entries could be provided in the main/ru.xml entry.

> Note that many systems don't bother translating the abbreviations even when the rest of the date display is localized.
> 
> For example on Linux, I get
> 
> $ TZ=Europe/Moscow LANG=ru_RU.UTF-8 date
> Срд Ноя  2 20:50:12 MSK 2016
> 
> and on Mac OS X:
> 
> $ TZ=Europe/Moscow LANG=ru_RU date
> среда,  2 ноября 2016 г. 20:48:10 (MSK)

The CLDR provides no abbreviations for the "Moscow" metazone, so it couldn't be used to localize the abbreviation.  Somebody would have to provide localized abbreviations to the CLDR maintainers if they're desired.


More information about the tz mailing list