How to Setup a Multi Lingual and Multi Currency Store in WooCommerce, Shopify and Magento
Summary
When buyers see the store in their local language and prices in their local currency then they feel more confident in buying from the store.
Store should have drop down menus with various language and currency selectors. Ideally the local currency and language should be pre-set as per the location of the user.
Why Build Multi Currency / Multi Language Websites?
English is one of the most important language for international business and the USD is seen as the recognized currency of online transactions, however it makes a lot of sense to create a multi language / multi currency e-commerce site.
The ability to give your potential customers details of your products or services in their native language and in their local currency helps to break down any trust barriers they may have to purchasing from you.
If you can price your products in someone’s local currency then they know exactly what the price is and don’t have to do mental calculations for exchange rates.
Creating a Multi Lingual and Multi Currency Store on WooCommerce
There are many WooCommerce plugins to achieve this.
Some of the plugins are:
https://wordpress.org/plugins/woocommerce-multilingual/
https://wordpress.org/plugins/woo-multi-currency/
https://wordpress.org/plugins/woocommerce-currency-switcher/
The best place to start with this is https://wpml.org/documentation/related-projects/woocommerce-multilingual/
This is a multilingual and multi-currency plugin with following features:
- Lets you translate the WooCommerce products, variations and store emails
- Allows to translate all the texts that buyers see during the checkout process
- Allows to set pricing and collect payments in multiple currencies
- Makes it easy to do SEO in different languages
- Compatible with all popular WooCommerce extensions and themes
To install and use the plugin, please go through the documentation and tutorial at https://wpml.org/documentation/related-projects/woocommerce-multilingual/
WooCommerce Multilingual plugin includes support for running a multilingual e-commerce site with multiple currencies, independent of the site’s languages. You can set pricing using a configurable exchange rates map or per product. On the front-end, users will be able to switch between the different available currencies, like they switch languages.
Configuring currencies per language
It is possible to show specific currencies on specific languages and also configure default currencies for distinct languages. This is done on the WooCommerce -> WooCommerce Multilingual page, under the Multi-currency tab.
This helps with situations when products in certain languages need to be ordered only in a precise currency. Additionally, default currencies can be set for specific languages so, by default, the users will see product prices in a given currency when they switch to a different language on the front end. The Keep option means that the currency will not change when the language is being changed.
When a new currency is added it is being included by default on all languages and can easily be turned off using the appropriate checkboxes.
Each custom currency must have an associated exchange rate. This will be relative to the site’s default currency and can be changed anytime. When the exchange rate changes all prices in the custom currencies will change accordingly, except prices included in orders that have already been placed.
Payment gateways settings
By clicking on Edit currencies settings icon, under the Multi-currency tab, you can access the set of options related to currency display, exchange rate, and Payment Gateways options.
Currently, supported payment gateways are Paypal, Stripe, and BACS.
Since not all payment gateways accept all currencies you can define ways to automatically make a conversion before making the transaction in a supported currency.
On the checkout page, a notice will show what currency will be used in the transaction if it is different than the one already selected by the user. The total amount will also be displayed in the converted currency.
Using automatic exchange rates
WooCommerce Multilingual allows you to set up automatic exchange rates for your store. There are three options to set for these features. Use the Exchange rates source to select the source of the exchange rates data. You can also set an additional Lifting charge percentage to adjust the final, effective exchange rate. This is useful for international transactions that may add additional charges.
Effective Rate = Service Rate x (1 + Lifting Charge / 100)
Finally, you can also set how frequently the automatic exchange rates will be updated for your store. Updates can be set to happen on a daily, weekly, or monthly basis. By default, this is set to manual update.
Configure distinct prices for different currencies
WooCommerce Multilingual also includes the option to set custom prices in different currencies. These will be fixed and will override the prices automatically determined by the exchange rate.
Setting custom prices in different currencies can be enabled from the post editor, under the fields for Regular Price and Sale Price (for the default currency). These prices will override the prices determined automatically based on the exchange rate. To revert to using the automatic prices you simply have to remove the custom prices and update the product.
A similar interface exists on the variable products editing screen with the possibility of adding custom prices for some, or all variations, or for some, or all custom currencies.
Orders currencies
Orders will have a specific currency associated with them. It is the currency that the user was using when placing the order. This will also be reflected on the back-end, where on the Orders page, each order shows the total in the corresponding currency. On this page, it is also possible to filter the orders by currency.
Since all created orders will have a currency associated, the WooCommerce reports will be broken down by currency.
Adding a currency switcher to the front-end
Once you have added the support for multiple currencies, you should display a currency switcher in your site’s theme. You can display the currency switcher with a shortcode or as a hook.
Currency switcher shortcode
Shortcode: [currency_switcher]
Attributes: format (Available tags: %name%, %code%, %symbol%) Default: %name% (%symbol%)
The shortcode version is the most convenient when you display the currency switcher inline with WordPress content.
Currency switcher as PHP code
PHP code: do_action('wcml_currency_switcher', array('format' => '%name% (%symbol%)'));
The other available parameter besides “format”:
- switcher_style: wcml-dropdown, wcml-dropdown-click, wcml-horizontal-list, wcml-vertical-list
Outputs a basic drop-down menu with currency codes for option values. The client’s current currency or the configured default currency for a specific language will be auto-selected.
Using custom switchers
Besides these default switcher_style options, you can also use your custom ones, defined by the custom currency switcher you design using template files.
Currency switcher options
Options for the currency switcher can be configured on the Multi-currency tab of WooCommerce Multilingual main settings page.
Currency switcher options allow you to:
- Preview how the switcher will look like on the front-end before applying changes.
- Set the switcher style.
- Arrange the order of currencies in the switcher using drag-and-drop.
- Adjust the output of the switcher.
- Enable or disable the showing of a currency selector on the product page template.
Adjusting the output of the switcher
You can customize the template used for the currency switcher by using the four parameters:
- %name% – full name of the currency, for example “Euro”
- %symbol% – the standard symbol that represents the currency, for example “$” or “€”.
- %code% – the standard code that represents the currency, for example “USD”, for United States Dollar.
- %subtotal% – total costs of the current order (basket), without shipping costs and additional taxes. Subtotal is the formatted price and includes the currency symbol positioned according to the currency options set in WooCommerce settings.
Besides the exchange rate, it is possible to configure, for each separate currency, things like the currency position, separator for thousands, decimal separator and number of decimals – similar to how these can be defined for the default WooCommerce Currency in the standard WooCommerce screen.
When you set pricing per currency, you can have WooCommerce Multilingual to auto-convert the prices, while keeping them “elegant”. This is possible with the use of rounding rules that can be configured next to the general currency options.
Creating a Multi Lingual and Multi Currency Store on Shopify
As Shopify is a SaaS ecommerce store, there are two ways to enable multi lingual and multi currency features on shopify. One is to take a shopify plan known as a “Shopify Plus” plan. It allows to create 10 stores for different regions with their local currency and local languages.
With this only following currencies are supported:
- Australian dollar (AUD)
- Canadian dollar (CAD)
- Denmark Krone (DKK)
- Euro (EUR)
- Hong Kong dollar (HKD)
- Japanese yen (JPY)
- New Zealand dollar (NZD)
- Pound sterling (British pound) (GBP)
- Singapore dollar (SGD)
- United States dollar (USD)
If you are not on a Shopify Plus plan then you will need to use shopify apps (Shopify App Store) to display multiple currencies and multiple langaues on your store
One limitation of multi-currency app is that it can display your products in a different currency but the checkout will still show the final price in the currency which is selected in the settings of your admin.
Some of the popular multi-currency apps are:
https://apps.shopify.com/multi-currency
https://apps.shopify.com/currency-converter-plus
https://apps.shopify.com/multi-currency-converter
https://apps.shopify.com/currency-auto-switcher
https://apps.shopify.com/auto-currency-switcher
https://apps.shopify.com/currency-switcher
https://apps.shopify.com/currency-converter-by-vitals
Some of the popular multi language apps are (https://apps.shopify.com/search?q=multi+langaue)
https://apps.shopify.com/langify
https://apps.shopify.com/weglot
https://apps.shopify.com/multilingual-shop-by-gtranslate
https://apps.shopify.com/easy-language-translate
https://apps.shopify.com/langshop
https://apps.shopify.com/translate
https://apps.shopify.com/multi-lingo
https://apps.shopify.com/language-translate-by-uplinkly
Creating a Multi Lingual and Multi Currency Store on Magneto
You can install language pack from https://marketplace.magento.com/catalogsearch/result/?q=language%20pack
Install it by following these instructions https://docs.magento.com/m2/ee/user_guide/system/web-setup-extension-manager.html
Create a store view for a new language and currency
For example if you want to create the French store then install the French language pack.
Create a store view (French store view) by navigating to Stores ⟹ Settings ⟹ All Stores, click Create Store View button, then fill in the required fields:
Finally, click Save Store View button.
Change Locale option of Store View
You go to Stores ⟹ Configuration, and choose French store view which has just been added in step 2.
Next, select General to set up related fields to the store view.
- In Country Options, change to France (for example) correspondingly.
- In Locale Options, set locale as French to specify which language store will use. This one will be based on the language pack we are about to install.
Then, click Save Config button.
Finally, click Save Store View button.
Change Locale option of Store View
You go to Stores ⟹ Configuration, and choose French store view which has just been added in step 2.
Next, select General to set up related fields to the store view.
- In Country Options, change to France (for example) correspondingly.
- In Locale Options, set locale as French to specify which language store will use. This one will be based on the language pack we are about to install.
Then, click Save Config button.
Base currency is the one that is used for transactions throughout the whole website.
Display currency is the one that is used to show product prices on each store view. How the price of a product is displayed now depends on currency rates between the base currency and display currency.
Allowed currency: you can select as many currency currencies as you want.
Even customers see product prices under the display currency of a store view, then they still make a transaction with the base currency of the whole website. The reason is the display currency has the scope as Store view, which is not valid for checking out. Hence, if you want to allow customers to checkout with display currency of each store view, this extension is an ideal solution for your website: Magento 2 Checkout with Display Currency. Customers can use their display currencies of store view which they see on the frontend to check out conveniently.
Step 2. Set up currency exchange rates
You go to Stores ⟹ Currency ⟹ Currency Rates to specify currency rates. You can use import service to change currency rates, then click Save Currency Rates button.
Besides, adding manually is another way you could try if there are not many currency rates.