Multi Regional Settings

Akinon provides multi language and multi currency functionalities to support your operations in multiple regional sales channels. In this training, we will show you how to enable and configure different languages and currencies for your online shops in multi regions.

The multi language support allows you to offer your products and services in different languages to perform international operations. Depending on the preferences of your customers, the online shop can be viewed in different languages.

Widgets​

Widgets allow you to customize the visual and functional layout of your online shop. You can design sliders, banners, footers, FAQ sections, product carousels, and more by using widgets.

To support multiple languages in your online shop, a single widget should be created and localization should be enabled by setting the is_localizable to true.

Once localization is enabled, you can manage the content of the widget for different languages using the Locale switcher in Omnitron. This allows you to enter translated content — such as titles, subtitles, and button texts — for each supported language, all within the same widget.

This approach ensures consistency across languages and simplifies widget management. Separate widgets for each language are not necessary and should be avoided.

Rendering Localized Widgets on the Storefront

When a user changes the language or currency on your storefront, this information is stored in the user’s session.

To ensure that the widget displays the correct content based on the selected language and currency, the request object must be passed to the widget-rendering function. Without it, the function may return cached data based on the previous language or currency.

Incorrect Usage:

liquidCopyEdit{% set widget_products = get_widget('widget-slug').products %}

Correct Usage:

liquidCopyEdit{% set widget_products = get_widget('widget-slug', request=request).products %}

This setup ensures scalable and maintainable multilingual widget management while delivering the correct content to users based on their language and currency selections.

Pages​

With Omnitron, you can create Flat Pages, Custom/Campaign Pages, Landing Pages and Category Landing Pages. The same way with the widgets, it is important to configure pages for any available languages on your storefront by choosing the language from the Locales menu on Omnitron. This way, the page contents that you have previously configured by choosing from the Locales on Omnitron will be correctly loaded when users make language changes on your online shop.

For example, if you operate in Turkish, you may have a Flat Page for your “About Us” information that is accessed through “/tr/hakkimizda” URL. If you want to apply English to your storefront as well, you need to configure the very same page in English too, and make sure its URL is “/en/about-us”.

Basically, for any languages you want to have available in your storefront, it is required to enable the Environment Settings and have the translated versions of your Flat, Landing, and Custom Pages with their diversified URLs.

Multi Currency Support​

The multi currency feature allows you to offer your products and services in different currencies, depending on the preferences of your customers. This feature can be enabled or disabled by the shop owner through the Dynamic Settings. The dynamic settings are a way of configuring various aspects of your shop, such as the available currencies, reCaptcha etc.

If you are operating internationally, and you want to enable your customers to pay with different currencies such as EUR, USD and others, please apply the following configurations according to your requirements.

1. Activating Available Currencies in the Dynamic Settings​

The Multi Currency functionality can be activated or deactivated for the online shop by configuring the Dynamic Settings. To activate multi currencies on your storefront, navigate to the Dynamic Settings menu under the Sales Channel Settings on Omnitron for the selected Sales Channel.

Find the AVAILABLE_CURRENCIES dynamic setting from the list. Choose the required currencies to be activated on the storefront from the list, and save the Dynamic Setting.

Postman Post Request if the Available Currencies Dynamic Setting cannot be Found

If the AVALIABLE_CURRENCIES dynamic setting cannot be found on the list, you need to create it by sending a POST request to the following endpoint.

Request Type: POST

Endpoint: api/v1/dynamic_settings/

Request Body:

{
    "key": "AVAILABLE_CURRENCIES",
    "value": [“try”, “usd”,”eur”]
}

Response: (HTTP Status 201 Created)

2. Activating the Currency on the Storefront​

The activated currencies within the AVALIABLE_CURRENCIES dynamic setting will be reflected to the storefront. Then, users can visit the storefront and select other currencies to continue shopping as they need.

When customers select a currency on the shop storefront, a POST request is sent to the system to write the selected currency code to their session information.

If all the configurations are completed, customers will be able to continue shopping with the selected currency, and the response to the POST request will be returned with a status code of “HTTP Status 200 OK” on the /users/activate-currency/ endpoint.

However, if your customer selects a currency that is not available for your shop, as defined by the dynamic settings, you will receive a response with a status code of “HTTP Status 400 Bad request”, which means that the selected currency code is invalid and cannot be written to their session information. To avoid this error, please make sure that you have enabled all the currencies that you want to offer to your customers in the AVAILABLE_CURRENCIES dynamic setting.

Config Check

After the required configurations, you can check if the currency information is reflected to the user’s session successfully or not by navigating to https://www.shop-name.com/config/?format=json. This will list configurations including the added currencies.

3. Defining Price Lists for All Currencies​

In order for the multi currency functionality to work as desired and for users to see the correct prices after selecting the currency value on the storefront, a price list must be defined for each currency.

Navigate to the Products and Catalogs > Price Lists menu to add new price lists for each currency value. Click the “New Price List” button to create new price lists by selecting the relevant Currencies from the dropdown list.

After creating new price lists, you can add product prices data either manually as bulk or via integration flows.

Adding the Price Lists as Extra Price Lists to the Catalog

Once you complete defining the new price lists, you need to add them into the Catalog as Extra Price Lists.

Navigate to the Products and Catalogs > Catalogs menu and choose the catalog that you want to add new currencies. Move to the Price Lists step and click the Extra Price List button to choose and add the new price lists.

4. Creating Segmentations for All Currencies by Using Customer Groups and Customer Group Settings​

For the Multi Currency functionality to work properly, there needs to be segmentations for each currency to be used on the storefront. Navigate to the Customer Groups page under the Sales Channels menu to configure the segmentation rules.

First, navigate to the Customer Groups page and click the New Customer Group button to create a new segmentation group. After saving the customer group, you can define customers under the new group.

Then, navigate back to the Customer Groups menu and choose Customer Group Settings. Click New Customer Group Settings for each new currency, and create a rule setting.

  • Enter the Customer Groups Settings Name, such as EUR Segment or USD Segment.

  • Enter the Customer Groups Settings Slug.

  • Enter the Customer Groups Settings Config. The Customer Group Settings Rules are defined via the config, and it includes the “currencies” list.

After defining the Priority and the Status values, connect the related Stock and Price Lists with the segmentation. For example, EUR Segment needs to be connected to the EUR Price List. Click Save to complete the segmentation configuration for the selected Price List.

{
    "rule":"currency",
    "params":{
        "currencies":["usd"]
    }
}

5. Defining Shipping Option Config Rules for All Currencies​

Shipping Options are used to enable customers to choose any of the shipping options and companies before the checkout process. Any agreed shipping companies can be added into the Shipping Options list. The Shipping Fees for the agreed shipping companies are defined within Omnitron, and they can also be defined for different currencies. The shipping fees for the different currencies can be calculated by using the Calculator config within each Shipping Option.

Navigate to the Sales Channels > Sales Channel Settings > Shipping Options page. Here, you can either configure a previously created Shipping Option to be available for multi currency functionality or create a new Shipping Option by clicking on the New Shipping Option button. Enter a Shipping Option name and slug.

Then, define a Calculator config. Any of the Fixed Price Calculator, Amount Based Calculator, Weight Based Calculator calculators can be defined for the selected shipping option. To enable the shipping option calculator, “prices_per_currency” key and its value must be defined within the calculator config.

The currencies specified in the ACTIVE_CURRENCIES dynamic setting and their corresponding shipping fee details can be entered to the "prices_per_currency" field in the Calculator config.

Click Save to complete the Shipping Options configurations for the multi currencies.

{
    "name":"Amount Based Calculator",
    "prices _per_currency":{
        "eur":{
        "base_shipping":"amount-based-calculator",
        "fixed_price":"12.99",
        "slug":"discount-based-calculator",
        "upper_limit":"1000.00",
        "discount_price":"0.00"
        }
    }
}

6. Defining Payment Option Config Rules for All Currencies​

With the Multi Currency flow, customers can use all payment options integrated into the selected currencies. In this way, customers can use available payment options in the currency of their preferences, such as debit card, credit card, shopping credit, etc.

Navigate to the Sales Channels > Payment Management > Payment Options menu. Here, you can either configure an existing payment option or create a new one by clicking on the Add New Payment Option button. Choose the Payment Type from the dropdown menu and enter the Payment Option Name, slug, and priority. Enter the config that defines currencies for the multi currency flow. Set the Status as Active and click Save to complete the Payment Option configuration.

This may take some time to reflect on the storefront.

{
    "config":{
        "rule":{
        "klass":"omnishop.payments.rules.CurrencyRule",
        "params":{
        "currencies":["usd"]}   
        },
    "currency":["usd"]
    }
}

7. Campaigns​

Campaigns​

With the Multi Currency flow, each Campaign can be defined and configured separately for different currencies. When creating a Campaign, it is possible to select the currency for which the Campaign is valid, and the relevant Campaign is processed in the background according to the selected currency on the storefront.

While creating a Campaign through the Sales Channels > Marketing > Campaigns menu, you can choose the Currency that the campaign is going to be processed with, and the campaign can be created by completing other configurations.

Coupons​

With the Multi Currency flow, each Coupon can be defined and configured separately for different currencies. When creating a Coupon, it is possible to select the currency for which the Coupon is valid, and the relevant Coupon is processed in the background according to the selected currency on the storefront.

While creating a Coupon through the Sales Channels > Marketing > Coupons menu, you can choose the Currency that the coupon is going to be processed with, and the coupon can be created by completing other configurations.

Bulk Coupons​

With the Multi Currency flow, Bulk Coupons can be defined and configured separately for different currencies. When creating a Bulk Coupon, it is possible to select the currency for which the Bulk Coupon is valid, and the relevant Bulk Coupon is processed in the background according to the selected currency on the storefront.

While creating a Bulk Coupon through the Sales Channels > Marketing > Bulk Coupons menu, you can choose the Currency that the bulk coupon is going to be processed with, and the bulk coupon can be created by completing other configurations.

Discount Codes​

With the Multi Currency flow, Discount Codes can be defined and configured separately for different currencies. When creating a Discount Code, it is possible to select the currency for which the Discount Code is valid, and the relevant Discount Code is processed in the background according to the selected currency on the storefront.

While creating a Discount Code through the Sales Channels > Marketing > Discount Codes menu, you can choose the Currency that the discount code is going to be processed with, and the code can be created by completing other configurations.

Last updated

Was this helpful?