Setup Multi-Language WordPress eCommerce

3 min read

Third Party

Multi-Language Setup with WPML

WPML is a popular plugin for turning a WordPress site into multiple languages. Pair it with WP EasyCart and you can sell internationally — every product, category, and cart page matched to the language your shopper picks.

Set Up Your Language Files

Three quick checks before WPML and EasyCart start talking to each other.

1

Ensure Language Files Exist

Visit WP EasyCart › Settings › Language Editor and confirm your language files are there. Need one that isn’t? See the “Add a New Language File” section below.

WP EasyCart — Language Editor Menu

WP EasyCart language editor menu under Settings
2

Add Languages As Needed

Add or delete language packs so EasyCart matches exactly which languages you’re supporting in WPML.

WP EasyCart — Add Language Packs

WP EasyCart screen for adding or deleting language packs
3

Choose Your Default Language Pack

Select whichever language should be active on your site by default. You can still open and edit any other language pack by selecting it — whichever you select here is what stays default.

WP EasyCart — Current Default Language to Edit

WP EasyCart default language selection for editing

Match Language Codes & WPML Settings

Two settings checks that quietly break the integration when they’re skipped.

4

Make the Language Codes Match

Scroll to the bottom of each language page and check its code. WPML uses ES for Spanish, while EasyCart defaults to SP — resave each one so the codes match exactly what WPML uses.

WP EasyCart — Language Code Field

WP EasyCart language code field that must match WPML's code
5

Confirm Your WPML Settings

Stick with WPML’s basic installation, and make sure URL linking is set to the URL linking variable method. Other linking methods aren’t recognized by EasyCart.

WPML — Language URL Format Setting

WPML settings screen with URL linking variable method selected

Build a Store, Cart & Account Page for Each Language

WPML needs its own core pages per language — here’s the pattern.

6

Add a Store, Account & Cart Page for Each Language

Visit your Pages section in WordPress. You should see a Store, Cart, and Account page available for every language you’ve added — for example, English and Spanish versions of each.

WordPress — Pages Per Language

WordPress pages list showing store, cart, and account pages for each language
7

Add the Language Parameter to Every Page

Every language page needs the language parameter in its shortcode. For a Spanish translation: [ec_store language="ES"], [ec_cart language="ES"], and [ec_account language="ES"]. Your default pages need the same treatment — for English: [ec_store language="EN"], [ec_cart language="EN"], and [ec_account language="EN"].

WordPress Editor — Language Shortcode Example

WordPress editor showing shortcodes with a language parameter added for Spanish

Turn Off SEO Friendly Links

One global setting flips EasyCart over to the URL variables WPML needs.

This changes every store URL sitewide

Head to Settings › Additional Settings and turn OFF Use SEO Friendly Links. This switches EasyCart to URL variables instead of custom post type links for pages and product displays — required for WPML’s language switching to work correctly.

WP EasyCart — Turn Off SEO Friendly Links

WP EasyCart additional settings with SEO friendly links toggle turned off

View & Translate Your Store

The last two steps: confirm the switcher works, then translate each product.

8

View Your Pages

Open your store, account, or cart page and switch languages using the WPML flags or dropdown. Basic store data — add to cart buttons and phrases — all adjusts based on the language pack in Settings › Language Editor. With English, French, and Greek flags active, switching to French shows the French product title, French model number, and French add-to-cart button.

WPML — Store Switched to French

WP EasyCart store switched to French using WPML flags with translated title and button
9

Translate Your Products

Throughout product setup, force a translation for any field by entering each language’s version wrapped in its own tag. For example, to give a product a different English and German title: [EN]English Title[/EN][DE]German Title[/DE]. The store translates automatically based on the WPML language selected.

WP EasyCart — Per-Language Title Field

WP EasyCart product title field with EN and DE language tags

WP EasyCart — Product Admin Example

WP EasyCart product admin screen showing translated fields

Developer Feature

Fix the Language Switcher Inside a Product Page

Want shoppers to switch languages while they’re already viewing a single product? Add this snippet to your theme’s functions.php file so the language switcher carries the current product’s model number along with it.

add_filter('icl_ls_languages', 'wpml_ls_filter');

function wpml_ls_filter($languages) {
    if ( isset( $_GET['model_number'] ) ) {
        global $sitepress;
        foreach ( $languages as $lang_code => $language ) {
            $languages[$lang_code]['url'] = $languages[$lang_code]['url'] . '&model_number=' . $_GET['model_number'];
        }
    }
    return $languages;
}

Add a New Language File

Only needed if you want to add a language EasyCart doesn’t already ship with.

💡 Once imported, edit it in the app, not the file: Language data is stored in your database after import, so upgrades don’t overwrite your changes. That means once you’ve added a language file and opened the Advanced Language page, you can no longer make changes to the file directly.

1

Copy an Existing Language File

Copy any of the existing text files located in wp-content/plugins/wp-easycart/inc/language/ and rename it to something that makes sense.

2

Edit the File Carefully

Make your changes — JSON formatting is very specific, and any mistake results in an error. Run the file through jsonlint.com before uploading it to your server.

3

Complete the Import

Go to EasyCart Admin › Store Setup › Advanced Language to finish adding the new language.

4

Fix Errors on the Advanced Language Page

If you find mistakes in the translation, correct them on the Advanced Language page — not the uploaded text file. Want your translation folded into the core EasyCart plugin? Reach out through your account and share the file — we’ll add it in.

Ready to Go Global?

Pair WPML with WP EasyCart and sell confidently in every language your shoppers speak. Our support team is ready if any step needs a second set of eyes.

Updated on July 20, 2026