If you read my article about Internationalization in Magento, you should know that there is a way to edit translation CSVs using one file – translate.csv. In order to do that, you just need to set locale via Magento admin area, then create translate.csv in app/design/frontend/<package>/<theme>/locale/languagecode_COUNTRYCODE and put your translated strings inside this translate.csv file.

Here are some tips and tricks:

1. All strings should start and end with double quotes and should be separated with comma (,), not a semicolon or any other sign

1

"Default line","Translated line"

2. It can be very handy to alternate the default theme strings with the help of app/design/frontend/<package>/<theme>/locale/en_US/translate.csv file

For example:

1

2

3

"My Cart","My Basket"

"My Account","Your Account"

3. All the lines are case-sensitive and the first message must be copied exactly as it appears in the default en_US version.

For example, if in en_US locale the string looks like that

1

"%s Item(s)","%s Item(s)"

But in your translate.csv you would try

1

"%s Items","%s Product(s)"

It simply wouldn’t work, so be careful with that.

4. Some strings can contain %1$s %s %d etc., and if you want to have the correct strings in your translations these entries should be also kept in the translated string

1

"%s Item(s)","%s Product(s)"

5. Your text editor should be able to save an edited CSV file in UTF-8 encoding (), especially when you translate using different alphabets. If you have your translations in Excel, you need to convert your file to UTF-8 (find more info on how to convert Excel to CSV with UTF-8 encoding StackOverflow).

6. If you need to have double quotes in your string they need to be escaped by using two double quotes

1

2

3

"String"," "" - this is how double quotation mark looks like"

"Warning!","<strong style=""color:red"">Attention!</strong>"

7. There are some strings that can be presented in a few extensions simultaneously. For example, in “Add To Cart” strings can be found in both Mage_Catalog.csv and Mage_Checkout.csv. What if you would like to translate/change them differently? Normal way would be to edit .phtml files manually, but with translate.csv you can solve this issue more elegantly – just put your extension name as a prefix and you will be able to translate them separately.

1

2

3

"Mage_Catalog::Add to Cart","Add to Basket"

"Mage_Checkout::Add to Cart","Add to my shopping cart"

8. Last but not least – remember to refresh all caches after any changes of your translate.csv file!

Sergei Guk is Certified Magento Developer in BelVG. He has a strong background in Magento, OXID and Prestashop as well as in PHP, MySQL, MVC, HTML, Ajax, CSS, JavaScript, jQuery, AJAX, SOAP, OOP, DB...