Como obter a moeda padrão do PHP Intl (biblioteca ICU)

Eu uso PHP e gostaria de saber como posso obter a moeda padrão para um código de idioma por meio da extensão Internacionalização (Wrapper para a biblioteca ICU

Abaixo é um script que explica, o que e por quê. Preciso de algo para substituir ogetCurrCode() função com.

$accepted_currencies = array('USD','EUR');
$locale = Locale::acceptFromHttp($_SERVER['HTTP_ACCEPT_LANGUAGE']);
if( ! empty($locale)){
    Locale::setDefault($locale);
    $currency = getCurrCode();
    if( ! in_array($currency, $accepted_currencies)){
        $currency = 'USD';
    }
}else{
    Locale::setDefault('en_US');
}

$fmt = new NumberFormatter( $locale, NumberFormatter::CURRENCY );
$price = $fmt->formatCurrency(1234567.891234567890000, $currency);

Eu sei, eu poderia usarsetlocale(LC_MONETARY, $locale); mas isso significa que eu tenho que instalar todos os códigos de idioma no Linux e lidar com a variação das distribuições do Linux. Qual seria o sentido de usar o Intl em primeiro lugar?

questionAnswers(1)

yourAnswerToTheQuestion