<p>I don’t think it is possible to stop the filter to translate the $ symbol. I don’t know Arabic, but it seems weird to me that the filter does that. If you agree you could consider sending a feature request to Pixel and Tonic.</p>

<p>To work around the issue now you could set the format option to false and only use the <code>commerceCurrency</code> filter to convert the value. Then format it for the output manually with help of the <a href="https://twig.sensiolabs.org/doc/2.x/filters/number_format.html" rel="nofollow noreferrer"><code>number_format</code></a> filter.</p>

<pre><code>{% set total = item.total|commerceCurrency(cart.paymentCurrency, convert=true, format=false) %}

{% if cart.paymentCurrency.iso == 'usd' %}
    ${{ total|number_format(2, '.', ',') }}
{% elseif cart.paymentCurrency.iso == 'eur' %}
    {{ total|number_format(2, '.', ',') }} EUR
{% endif %}
</code></pre>

<p>Here is how you can apply the manual formatting to select currencies only.</p>

<pre><code>{% if cart.paymentCurrency.iso == 'usd' %}
    {% set total = item.total|commerceCurrency(cart.paymentCurrency, convert=true, format=false) %}
    ${{ total|number_format(2, '.', ',') }}
{% elseif cart.paymentCurrency.iso == 'eur' %}
    {% set total = item.total|commerceCurrency(cart.paymentCurrency, convert=true, format=false) %}
    {{ total|number_format(2, '.', ',') }} EUR
{% else %}
    {{ item.total|commerceCurrency(cart.paymentCurrency, convert=true, format=true) }}
{% endif %}
</code></pre>

<p>It’s probably a good idea to use a <a href="https://twig.sensiolabs.org/doc/2.x/tags/macro.html" rel="nofollow noreferrer">Twig macro</a> for this snippet.</p>

CC BY-SA 3.0
2017-05-10T09:46:22.280Z
Thanks Sir! But I am supposing if admin will add new payment currency then if condition will fail. I am trying to getting some dynamic solution.
Mohit Prajapati
CC BY-SA 3.0
2017-05-10T10:27:20.023Z
Updated the answer @MohitPrajapati
carlcs
CC BY-SA 3.0
2017-05-10T09:29:19.007Z
2017-05-10T10:27:02.093Z
2017-05-10T10:27:02.093Z
carlcs
<p>I’m creating a multi language site (Arabic/English) with Craft Commerce. On the Arabic cart page I output <code>item.total</code> with the help of </p>

<pre><code>{{ item.total|commerceCurrency(cart.paymentCurrency, convert=true, format=true) }}
</code></pre>

<p>The price is output like so: "دولار أمريكي 5.00".</p>

<p>It translates $ to دولار أمريكي) دولار أمريكي = American dollar) and I want it to be output like so: "$5.00".</p>

<plugin-craftcommerce><currency>
Stop currency translation in Craft Commerce
# Stop currency translation in Craft Commerce

(Asked by: username_0 on 2017-05-10)

I’m creating a multi language site (Arabic/English) with Craft Commerce. On the Arabic cart page I output item.total with the help of 
{{ item.total|commerceCurrency(cart.paymentCurrency, convert=true, format=true) }}

The price is output like so: "دولار أمريكي 5.00".
It translates $ to دولار أمريكي) دولار أمريكي = American dollar) and I want it to be output like so: "$5.00".

**Tags:** plugin-craftcommerce, currency

---

## 1 answers

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

I don’t think it is possible to stop the filter to translate the $ symbol. I don’t know Arabic, but it seems weird to me that the filter does that. If you agree you could consider sending a feature request to Pixel and Tonic.
To work around the issue now you could set the format option to false and only use the commerceCurrency filter to convert the value. Then format it for the output manually with help of the number_format filter.
{% set total = item.total|commerceCurrency(cart.paymentCurrency, convert=true, format=false) %}

{% if cart.paymentCurrency.iso == 'usd' %}
    ${{ total|number_format(2, '.', ',') }}
{% elseif cart.paymentCurrency.iso == 'eur' %}
    {{ total|number_format(2, '.', ',') }} EUR
{% endif %}

Here is how you can apply the manual formatting to select currencies only.
{% if cart.paymentCurrency.iso == 'usd' %}
    {% set total = item.total|commerceCurrency(cart.paymentCurrency, convert=true, format=false) %}
    ${{ total|number_format(2, '.', ',') }}
{% elseif cart.paymentCurrency.iso == 'eur' %}
    {% set total = item.total|commerceCurrency(cart.paymentCurrency, convert=true, format=false) %}
    {{ total|number_format(2, '.', ',') }} EUR
{% else %}
    {{ item.total|commerceCurrency(cart.paymentCurrency, convert=true, format=true) }}
{% endif %}

It’s probably a good idea to use a Twig macro for this snippet.

> **Comments:**
> **username_0**: Thanks Sir! But I am supposing if admin will add new payment currency then if condition will fail. I am trying to getting some dynamic solution.  
> **username_1**: Updated the answer @MohitPrajapati  

---

