Similar to how we format language names, add a variant that
emphasizes the region part of a locale. We show the language
in parentheses as discriminator only where needed.
When there is only one locale for this language, omit the territory
and codeset from the descriptive name. This makes the parenthesized
part appear a bit more like a discriminator instead of a wierd
formatting convention.
This just code loads one language at a time in an idle,
to avoid blocking the UI for a long time. The function returns
the id of the sources, so you can just call g_source_remove()
if you don't need the languages anymore (e.g if the user goes
to another panel before the list is fully populated).
https://bugzilla.gnome.org/show_bug.cgi?id=643096
If software with "Chhattisgarhi" translations was loaded (such
as k3b), we would fail to load the language name for it, as we
were not parsing the ISO-639-3 database.
https://bugzilla.gnome.org/show_bug.cgi?id=641373
Make more of the code common one, so we can re-use it for
the region panel. Show the user's current locale first, as well
as the list of languages used by other users, followed by a separator.