Pages

Sunday, July 7, 2013

Editing Magento Translate.csv File

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 inapp/design/frontend/<package>/<theme>/locale/languagecode_COUNTRYCODE and put your translated strings inside this translate.csv file.

Here are some tips and tricks:

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

    “Default line”,“Translated line”

 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:

    “My Cart”,“My Basket”
    
    “My Account”,“Your Account”

     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

    “%s Item(s)”,“%s Item(s)”

But in your translate.csv you would try

    “%s Items”,“%s Product(s)”

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

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

    “%s Item(s)”,“%s Product(s)”

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).

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

    “String”,“ ”" - this is how double quotation mark looks like”
    
    “Warning!”,“<strong style=”"color:red”">Attention!</strong>”

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.

    “Mage_Catalog::Add to Cart”,“Add to Basket”
    
    “Mage_Checkout::Add to Cart”,“Add to my shopping cart”

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

No comments:

Post a Comment