One problem with the current way is that regional translations (e.g. en-us) are not treated any different than language-only translations (e.g. en).
Essentially I believe 'en-us' should only carry the changes from 'en' - falling back to en if a code is not defined in en-us.
Otherwise you need a whole set of new codes if you just want to adapt the spelling of one word.
Another grey area is that sometimes a translator might want two terms to express
one concept in the primary language.
A case encountered (by Peter Gummer) is that given a list of English personal forms
of address --Mr, Mrs, Miss, Ms, etc. -- a Spanish translator wanted two
translations of "Mr", namely "Señor" and "Don". He actually added an
extra internal code, with its own at-code.
Now this wish to capture nuances that don't exist in the primary
language strikes me as perfectly reasonable, but it's certainly stepping
outside the bounds of translation.