We keep the underscore to help with fallback languages. So in that respect pt_BR
falls back to pt in case of untranslated strings. zh-Hans is a way of writing
Chinese, as is zh-Hant. Neither of them can or should fall back on a
(non-existent) zh language code. They can be combined to form zh-Hans_CN and
zh-Hans_TW if there are ever translators that want to further refine that
dialect.