Für mich sieht das so aus, als stehe der erste Teil für die Sprache (de: deutsch, en: englisch, nds: niederdeutsch...) und der zweite Teil für das Land (DE: Deutschland, CH: Schweiz...). Niederdeutsch ist eine eigenständige Sprache und "nds_DE" steht für in Deutschland gesprochenes niederdeutsch. Also nur den ersten Teil testen, wenn es um die Sprache geht. Ansonsten wäre "fr_DE" und "en_DE" im Test ebenfalls deutsch.
Du könntest wie folgt testen (wenn es denn standardisiert wäre, siehe BlackJacks Antwort):
Code: Alles auswählen
>>> locale = 'de_DE'
>>> locale.split('_')[0] in ['de', 'nds']
True
>>> locale = 'nds_DE'
>>> locale.split('_')[0] in ['de', 'nds']
True
Grüße
Gerrit