Change translations on a theme basis

So you’re developing a Magento skin and want to change some text. For example, you want to change the text “Currently shopping by:” to “Filtering on”. Of course you don’t want to change the localization in app/locale, because that would affect every skin you have installed.

The solution is easy, create a locale for the skin. Every skin can have it’s own locales. Just make a folder for the language (en_US, for example) in the folder of the skin and place a translate.csv in it. For example, create the file:

app/design/frontend/default/default/locale/en_US/translate.csv

The content of this translate.csv should be the same as the translation files in app/locale. So following the example, the content would be

“Currently shopping by:”,”Filtering on”

Naturally you could also use your own texts. If in the template file you have the text “Search in our catalog”, coded as

$this->__('Search in our catalog');

You could translate this to all the different languages your shop supports by creating a translate.csv file for every supported language and place it in the locale folder for the language.