> So, assuming there's a genuine dispute between the US and Canada, where
"Pacific Time" means one thing north of the border and a different thing
south of the border, then I suppose in a Canadian locale CLDR will use
the names "Pacific Time" and "US Pacific Time" respectively, whereas in
a US locale CLDR will use "Canadian Pacific Time" and "Pacific Time"
respectively.
Yes, with currencies we do exactly what you say: for CAD use $ in en-CA and CA$ in en; for USD use $ in en and US$ in CA (or something similar, the exact symbols vary by locale).
We do have the ability (for example) on 2026-12-25 to have en_CA to display "11:00 Pacific Time", and en (= en-US) display "10:00 Pacific Time" for exactly the same time. There are many applications / websites that are not good about using the right locale id — the ones that display currencies have it hammered into them to get the right locale, but many others will probably fail. We're also considering always adding some disambiguating text, like "Pacific Time (Vancouver)" or "Pacific Time (Canada)".
> From my point of view TZDB has gone out on a limb temporarily to help
CLDR overcome CLDR's technical limitations.
Just a minor correction; it isn't really a technical limitation of CLDR per se, but rather that many implementations are not set up to update quickly. Fortunately most major implementations have learned the hard way to build in mechanisms to handle regular updates to the TZDB (with exceptions such as the Dublin change; but the TZDB adopted a mechanism to keep them working). And when the TZDB, say, adds a new timezone, the default behavior for implementations using CLDR is just to display the UTC offset (in a localized form) until they upgrade. Not pretty, but at least unambiguous.