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" |
Magento Extensions
Take your online store to the next level with BelVG Magento Extensions
Visit the store3. 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!
Magento Development Services
Take your online store to the next level with BelVG Magento development
Visit the page
@Flavia, both phrases are stored in Mage_Newsletter.csv locale file.
You can create same file under app/locale/pt_PT/Mage_Newsletter.csv (I hope it’s Portuguese :-) and add your translations in the second column.
Olá tudo bem?
Estou tentando traduzir essa linah e não consigo, como posso fazer por favor?
<input type="text" name="email" id="newsletter" title="__(‘Sign up for our newsletter’) ?>” class=”input-text required-entry validate-email” placeholder=”Enter your email address …” />
“Enter your email address …” para português
Já tentei d etdo até peguei o ‘Sign up for our newsletter’ e coloquei assim
“‘Sign up for our newsletter'”, “Insira seu e-mail”
Muito obrigada
abraços
Flavia
#7 is very helpful!
Thank you!
Thank you! Realy helpful post. #7 saved my day.
Is there a way to theme specific translate transactional emails as well? Thanks!
Nice tip #7, not every developer know about this feature.