Ok so it looks like PrestaShop 1.7 is using new fancy pancy Cldr framework (ICanBoogie). Basically it drags all localisation stuff from the Cldr database (repo). It's all good but unfortunately this framework does not give many option for customisation (not that I found any) so you have to be happy what Cldr provides. In my case Cldr dictates that currency sign is "EUR" on the left, when we actually more used to "€" on the left.
Anyway, it is possible to override this by creating file in: override/classes/Tools.php
<?php
/**
* Forcing to use Euro (Currency) sign
*/
class Tools extends ToolsCore
{
public static function displayPrice($price, $currency = null, $no_utf8 = false, Context $context = null)
{
if (!is_numeric($price)) {
return $price;
}
if (!$context) {
$context = Context::getContext();
}
if ($currency === null) {
$currency = $context->currency;
} elseif (is_int($currency)) {
$currency = Currency::getCurrencyInstance((int)$currency);
}
$numberFormatter = new ICanBoogie\CLDR\NumberFormatter;
return $numberFormatter->format($price, "#0.#0").' '.$currency->getSign();
}
}
?>
This workaround is bit crusty but meh.. it works.