Internationalization: Support for IANA time zones

Mark Davis ☕ mark at
Sat Mar 2 08:46:54 PST 2013

On Sat, Mar 2, 2013 at 5:11 PM, Shawn Steele <Shawn.Steele at>wrote:

> I’m uncomfortable using the CLDR names, although perhaps they could be
> aliases, because other standards use the tzdb names and we have to be able
> to look up the tzdb names.  It might be nice to get more stability for the
> tzdb names, like aliases or something.****
​I'm simply not explaining myself correctly. *The CLDR IDs (long IDs) *ARE*
tzdb IDs.* Let me give you a specific case.

The TZDB has the equivalence class {Asia/Calcutta Asia/Kolkata}. They used
to have the former as the canonical name (in Zone), but then changed it to
the latter. Here is the current TZDB data:

IN +2232+08822 Asia/Kolkata


Zone Asia/Kolkata 5:53:28 - LMT 1880 # Kolkata


Link Asia/Kolkata Asia/Calcutta

Because of the Link, both are valid and equivalent.

CLDR, because we need stability, retains the *former* TZID as the canonical
name. That is the meaning of the first alias in such
as in:

<type name="inccu" alias="*Asia/Calcutta* Asia/Kolkata" description="Kolkata,

The short name (name="...") is only used for BCP47 subtags (because of the
ASCII/8-char limit), *not* for communicating with TZDB implementations. Nor
is it used in CLDR for the canonical ID.

Instead Asia/Calcutta is used as the canonical ID. Here are some of the
samples of the localizations.

<zone type="Asia/Calcutta">
<zone type="Asia/Calcutta">
<zone type="Asia/Calcutta">

and so on. Note that these are all TZIDs.

The only long ID that CLDR adds is one to indicate an unknown/illegal TZID:

<zone type="Etc/Unknown">

Is the picture clearer now?

Mark <>
*— Il meglio è l’inimico del bene —*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the es-discuss mailing list