php - Is it correct I18n::setLocale('en_FR') in cakephp 4?

one text

Solution:

¤ (U+00A4) is the character used to denote an unspecified currency, this is the expected behavior when not supplying a region alongside the language.

Instead of using a specific region you could use the currency keyword to specify the currency independently:

// eg en@currency=EUR
$locale = "{$this->request->getParam('lang')}@currency=EUR";

I'm not sure though if the translate behavior will work properly with it, you might have to set the locale on the table instance manually so that it doesn't contain any keywords.

See also

Source