I am using the latest Magento DE version ( and while everything else works fine (like "Regular price") "Special price" is not translated. I've tried changing the "Mage_Catalog.csv" in the "locale/de_DE" folder and it is there. I noticed, that other than said in the translation file there is no column behind "Special price", so I changed the file to:

"Special Price:","Sonderpreis:"
"Special Price","Sonderpreis:"
"Special Price: %s","Sonderpreis: %s"
"Special Price %s","Sonderpreis: %s"

(just for testing purposes of course) and it still won't change. As far as I can tell the text is called in the price.phtml file as "Special price".
What am I missing?

4 Answers 4


The definitive answer to this question is that Special Price is an attribute.

You can simply translate the Special Price price-label from your Magento Admin Panel, just go to

Catalog > Attributes > Manage Attributes

and open the Special Price attribute (attribute code special_price).

From there select the tab Manage Label / Options.

Here you can set the proper translation for each of your store views.

enter image description here

After saving the attribute don't forget to flush Magento cache.

  • Just saved me hours of find filing and going through templates. OFCOURSE!
    – snh_nl
    Commented Jun 3, 2015 at 14:34
  • Yup Thank you SIR in 1.9 this is 100% the case for how to update that text.
    – asherrard
    Commented Jul 21, 2015 at 17:46

Make sure that you use the exact string for the first quotes. In this case you see this code in the price.phtml:

<?php echo $this->__('Special Price:') ?>

i.e. you need Special Price: for the first quotes in your translate file. So your first try

"Special Price:","Sonderpreis:"

should've worked. In some cases this translation doesn't work. Than you have to force this translation with

"Mage_Catalog::Special Price:","Sonderpreis:"

This goes in your translate file at


Hope this helps!

+++ EDIT after Comment +++

There are 22 occurrences of this 'Special Price:'

22 occurrences

  • Sadly it didn't: I did just as you said, but it didn't work. So I checked everything again and found something strange: In the file "app/design/frontend/myPackage/default/template/catalog/product" (as well es at default/default) it says "<span class="price-label"><?php echo $this->__('Special Price:') ?></span>". It is the only occurence of "Special Price". On the frontend however there is no column after it.
    – Bernie
    Commented Oct 7, 2014 at 13:15
  • Did you clear the cache after your changes? - See my update for your other Question!
    – Sebastian
    Commented Oct 7, 2014 at 14:25

I believe you are trying to translate it at a module/extension level. Because the pricing is handled via price.phtml inside your theme folder, you should be using a theme level translation for price related language translation via:

  • This is actually the path that I have tried already since it is basically a general mistake and I want to solve it for every Theme.
    – Bernie
    Commented Oct 7, 2014 at 7:41
  • You could turn on inline translation and try that. Commented Oct 7, 2014 at 13:25
  • Works for everything besides both of the price names ;) The "Edit" icon appears, but nothing happens if I click it. Works perfectly everywhere else
    – Bernie
    Commented Oct 7, 2014 at 13:41

Within price.phtml you'll find in Version 1.9 the following line

$_specialPriceStoreLabel = $this->getProductAttribute('special_price')->getStoreLabel();

You have to translate the attribute in the Magento backend

Catalog > Attributes > Manage Attributes

So this is definitive the answer :-) After a lot of grep, i finally found it.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.