DEV300_m78 callcatcher report. Down -10 overall. scripting and vbahelper are unused method free.
Fiddling with BCP 47 style language tags, Some code at here to make a sane mapping from the glibc locale strings to it, along with some mods to hunspell to make that the default dictionary naming scheme. Enchant, OOo and friends would need some tweaking as well to bubble the extra info up. End game would be that the edge case stuff like sr-Latn[-RS] and ca[-ES]-valencia would work out of the box.
fontconfig could do with a bit of love in that direction as well. I see some bogus tags of e.g. sd-in@devanagari in some font .conf files but fontconfig takes a language-territory tag, not @modifiers, so its reading those as sd-in. Ideal situation would be to be able to describe that as sd-Deva[-IN].
glibc has two ber locales, ber_DZ and ber_MA, unfortunately these are collective language codes, which is a real nuisance. In the case of the other collective code of no, i.e. no_NO gettext and others map it to nb_NO, ber_DZ is probably most likely equivalent to kab-DZ, but ber_MA does appear to in practice refer to a collection of three languages. Though for some inscrutable reason (copy and paste) the translations in the locale file are actually Azerbaijani/Azeri