this method performs Level 1 and Level 2 canonicalization according to ICU standards. See https://21gyba46g5.proxynodejs.usequeue.com/locale#TOC-Canonicalization.
echo \Locale::canonicalize ( 'en-US.utf8' );
// "en_U"
echo \Locale::canonicalize ( 'FR-fr@EURO' );
// "fr_FR@currency=EUR"
echo \Locale::canonicalize ( '' );
// "en_US_POSIX"