<p>Yii 1 gets its localization data from the <a href="http://cldr.unicode.org/" rel="nofollow noreferrer">Unicode Common Locale Data Repository</a>.  You can see that info in <code>craft/app/vendor/yiisoft/yii/framework/i18n/data/nl_be.php</code> where <code>currencyFormat</code> is defined as <code>'currencyFormat' =&gt; '#,##0.00 ¤'</code>.</p>

<p><code>¤</code> is the placeholder for the locale's currency symbol, which puts it after the digits, which explains the behavior you're seeing.</p>

<p>If you want to continue to use that specific locale, you could do a <code>|replace</code> everywhere you output a currency.  Or you could core hack that locale file to alter it and just make a note to check it after updating.  Those locale files do get updated, but it's pretty rarely. Or you could switch to <code>nl.php</code> which appears to have the currency symbol first.</p>

CC BY-SA 3.0
2017-10-02T08:49:49.913Z
Thanks Brad! Ended up changing the locale file in order to avoid having to do the replace everywhere.
Jan Henckens
CC BY-SA 3.0
2017-10-01T23:11:47.153Z
2017-10-01T23:11:47.153Z
Brad Bell
<p>I have a Craft/Commerce set up with Euro is base (and only) currency and 3 locales are defined in the site (<code>nl_be</code>, <code>fr_be</code> and <code>en_be</code>).</p>

<p>Prices are showing up as:</p>

<blockquote>
  <p>0,99 €</p>
</blockquote>

<p>instead of</p>

<blockquote>
  <p>€0,99</p>
</blockquote>

<p>When I print the entry's locale I get <code>nl_be</code> and my preferred language in the CP is also set to <code>nl_be</code>.</p>

<p>The url I'm using is also localised, through /nl/index.php, which sets <code>CRAFT_LOCALE</code> to <code>nl_be</code>.</p>

<p>I'm a bit clueless as to what I'm missing, any help would be appreciated.</p>

<p>Thanks!</p>

<plugin-craftcommerce><localization><currency>
Product price format in euro
# Product price format in euro

(Asked by: username_0 on 2017-09-29)

I have a Craft/Commerce set up with Euro is base (and only) currency and 3 locales are defined in the site (`nl_be`, `fr_be` and `en_be`).

Prices are showing up as:

> 0,99 €

instead of

> €0,99

When I print the entry's locale I get `nl_be` and my preferred language in the CP is also set to `nl_be`.

The url I'm using is also localised, through /nl/index.php, which sets `CRAFT_LOCALE` to `nl_be`.

I'm a bit clueless as to what I'm missing, any help would be appreciated.

Thanks!

**Tags:** plugin-craftcommerce, localization, currency

---

## 1 answers

### Answer by username_1 on 2017-10-01. Score: 1 | Accepted answer

Yii 1 gets its localization data from the [Unicode Common Locale Data Repository](http://cldr.unicode.org/). You can see that info in `craft/app/vendor/yiisoft/yii/framework/i18n/data/nl_be.php` where `currencyFormat` is defined as `'currencyFormat' => '#,##0.00 ¤'`.

`¤` is the placeholder for the locale's currency symbol, which puts it after the digits, which explains the behavior you're seeing.

If you want to continue to use that specific locale, you could do a `|replace` everywhere you output a currency. Or you could core hack that locale file to alter it and just make a note to check it after updating. Those locale files do get updated, but it's pretty rarely. Or you could switch to `nl.php` which appears to have the currency symbol first.

> **Comments:**
> **username_0**: Thanks Brad! Ended up changing the locale file in order to avoid having to do the replace everywhere.  

---

