CRM_Core_I18n - Provide a better label for new/unknown locales
authorTim Otten <totten@civicrm.org>
Wed, 8 Apr 2020 04:14:38 +0000 (21:14 -0700)
committerTim Otten <totten@civicrm.org>
Wed, 8 Apr 2020 04:23:15 +0000 (21:23 -0700)
commit8a0dba7b8d0fb886918d07d4c96b420914c58015
tree07ed6804a2b588dce3125862dc73e904dcb2f589
parent9198ff43601010740a2f0d79512b5e317d94bcad
CRM_Core_I18n - Provide a better label for new/unknown locales

Overview
--------

Suppose you add new/unrecognized data files in the `l10n` folder - and then
you navigate to the screen `civicrm/admin/setting/localization?reset=1`.

Before
------

The new language appears in the admin UI as a blank item.

Every page in the app displays a warning about the unrecognized locale.

After
-----

The new language appears in the admin UI with a placeholder name (based on the code).

The warnings are not displayed.

Comment
-------

We've just had an issue where a new language was added to the `l10n`
data-set, and then all automated test-suites for all versions (incl `5.25`
RC and `5.24` stable) started to throw blocker errors on unrelated PRs.
This is because the `l10n` data is generally evergreen, but each branch/tag
of `civicrm-core` has the list hard-coded in multiple spots.

This patch tries to make the symptom less painful when mixing/matching
different revisions of `civicrm-core.git` and `l10n.git`.
CRM/Core/I18n.php