I'm attempting to update the localized versions of language names from an older version of the CLDR (v2.0.1) to the latest stable release (v26). While preparing to release this change, I've noticed some odd behavior in several of the locales we use—language names that previously had sensible values have "regressed" to using the raw locale code.
For example, we require translated values for 'es-419' (in US English, "Latin American Spanish") for each of the locales we support. In our previous version, the Japanese translation for 'es-419' yielded:
(this version was present as recently as v22: link
Starting in v23, the 'es-419' entry for 'ja' locales was removed; Japanese translations for this locale now fall back to the listing for '·all·others·':
(see latest version: link
The end result of this is that our dropdown for languages available to Japanese users is localized entirely in Japanese, with the exception of "es-419"—which looks odd, to say the least. We've noticed similar regressions in several other locales. This seems to only occur when the language whose name is being localized is a territory-specific variant of some other language. (I'd be happy to put together a complete list of other cases that we've noticed, if it would be helpful.) Ultimately:
I'm wondering whether these changes were intended—and if so, if there is some other action we should take in order to get values more sensible than the raw locale codes.