From Fedora Project Wiki

Language code in locale name:

Some of them are macrolanguages.

(e.g. 'ar' for Arabic; 'zh' for Chinese)

In some countries, languages under a macrolanguage must share (or compete for) the only one locale name.

For the reason of equality, it would be better to use ISO 639-3 instead of ISO 639-1.

(e.g. 'ar' becomes 'arb' but not 'ara'; 'zh' becomes 'cmn' but not 'zho')