How to Translate Magento 2 Extension Using Theme Translation Files

In this article, you will learn how to perform Magento 2 theme file translation.

Usually, the translations are stored in the .csv files on your server. However, if, for some reason, there is no CSV translation file translated for your language, you will need to create the .csv file from scratch. To create the CSV translation file, please follow the steps below.

Important Information:

Make sure to disable Magento 2 cache before proceeding with .csv file translation.

Step 1. Create the required file for translation

First, in your Magento 2 admin panel, you need to find the .csv file and copy it to create the required file for the translation. Please, check the example below.

app/design/frontend/THEME_VENDOR/theme_name/i18n/en_US.csv

Name the file to include the target language code. This is an example file with a German translation:

app/design/frontend/THEME_VENDOR/theme_name/i18n/de_De.csv

Step 2. Translate the phrases according to the requirements

While translating, make sure all the strings in your .csv file start and end with double quotes, and are separated with comma [,], not semi-colon [;] or any other mark.

"Add to Cart", "Translated Text"

You can change the default theme strings according to the requirements of your website, for example:

"My Cart","My Basket"
"My Account","Your Account"

All the lines are case-sensitive, you should copy the phrase exactly as it is in the “en_US” version. In the source “en_US” version the text looks like this:

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

Whereas the translated text should look like this:

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

If you need to set off a word or phrase by quotation marks, put two double quotation marks for such a string.

"String","Translated word"

You can also use HTML coding to alter your text. Check an example:

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

Step 3. Save the CSV file in UTF-8 encoding

Make sure your text editor saves .csv file in UTF-8 encoding, as it supports different alphabets. If you edit the file using Excel, convert it into UTF-8 encoding once you finish editing.

How to translate the same element differently for different pages

While performing translation in this file – any word or phrase will be translated for the entire theme. If you need to translate the same element in different ways for different pages, you can use this example:

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

To read more information about Magento 2 translations, please click here.

About The Author: Anastasiia Yaremchuk

Deeply passionate about making a good copy. Now exploring new horizons of SEO and content marketing. Apart from the digital world, she is obsessed with travelling, films and caffeine. View more posts