Languages
Just like website content is localized by adding language layers to a website and then making changes to the language layer, your Ecommerce can be localized by adding a new Ecommerce language to your solution, and changing the localized content.
You can then select the language as the default language on the Ecommerce settings of a website. You should decide on your default language early on in your design process – changing the default language is not trivial, as it forces a localization of products and product groups to the new default languages, and may have other unintended consequences.
Adding a new Ecommerce language to your solution allows you to localize:
- Products & product groups
- Currency names and country names
- Stock states, stock locations & product unit names
- Order & product discounts labels
- Loyalty point rewards labels
- Variant group names
- Relation group names
- Product field names & product group field names
- Product category & product category field names
- VAT group names
To add a new language to your solution:
- Go to Settings > Ecommerce > Internationalization > Language
- Click New Language in the toolbar to open the edit language view (Figure 1.1)
From here, you must:
- Name the language, and select the matching country code
- Provide a native name for the language – this name will be used when switching between language contexts
- Check the default checkbox if this is your default Ecommerce language. Please note that changing the default language will force-localize all non-localized product to the new default language.
When you’ve created the languages, countries and currencies necessary for your setup, make sure you set a default country, language and currency on each website or language layer. Not doing so is one of the most common sources of WTFs in Dynamicweb.
Switching language context
Once more than one Ecommerce language has been created, you can switch between language contexts in Dynamicweb Ecommerce by clicking the little flag icon in the ribbon bar of e.g. a product list (Figure 2.1)
For example, your default language is US English and you have a product group called Gift Cards with two products in it (Figure 2.2). You then switch the language context.
Once the language context has been switched to Danish, any products and product groups existing in your default language (Figure 2.3) will now appear greyed out – this is because they are not localized yet.
Content tied to only one language context
Some Ecommerce features are created in a particular language context – and exist only there. This is true for:
- Payment methods and shipping methods
- Address validation methods & validation groups
All of these are language-specific and cannot be localized, but must be created separately in each language context.
Localizing Ecommerce content
Localizing Ecommerce content is a matter of:
- Selecting the content you want to localize
- Switching the language context to the desired language
- Localizing and saving the content
For instance, to localize a product:
- Open it
- Switch to the desired language context
- Localize & save
This will localize the selected products to the current language context – and the product group to which the products belong. You can also localize a product from the product details view by changing the language context and saving the product.
Similarly, to localize a product group:
- Switch to the desired language context
- Right-click the product group in the Ecommerce tree
- Click Edit group and make any changes (e.g. changing the name) necessary
- Save the group.
This localizes the product group, but not the products in it – they must be localized separately.
After localizing a part of your Ecommerce system, don’t forget to actually change the field content – names, prices, and so forth.
You can localize the following content:
- Products & product groups
- Currency names and country names
- Stock states, stock locations & product unit names
- Order discount & sales discount labels
- Loyalty point rewards labels
- Variant group names
- Relation group names
- Product field names & product group field names
- Product category & product category field names
- VAT group names
To force-show unlocalized product catalog content, you can use the advanced configuration settings.
You can read about the settings in this article.
Creating new products in language contexts
If you create a new product in the default language, it is unlocalized in all non-default languages.
If you create a new product in a non-default language, it will be unlocalized in all your other languages – including the default language.
If you localize it to the default language, you cannot delocalize it from the default language again – rather, you must deactivate it instead. Make sure you allow differentiated field values for the active-state across languages – read more below.
If you want to, you can force newly created products to be localized on creation to all of your languages. To do so:
- Go to Settings > Ecommerce > Advanced configuration > General
- Locate the Language section (Figure 5.1) and check the Activate products on all language versions on create checkbox.
You can read more about the settings in Advanced configuration here.
Controlling variation across languages
When working with products across multiple languages, you may need to allow or disallow the localization of certain product fields.
For instance, you probably want to allow the name of a product to be different from one language to another, but the product number probably shouldn’t be different.
To control variation across languages,
- Go to Settings > Ecommerce > Advanced configuration> Fields
- Check the appropriate checkbox in the across all languages column (Figure 6.1).
You can read more about the Fields settings in this article.
Query string parameters
Dynamicweb supports a number of query string operations for manipulating the internationalization settings:
Parameter | Effect |
LanguageID=LANG1 | Switches the language context to LANG1 |
EcomLanguages
Contains language setup from Settings -> Ecom -> Internationalization -> Languages.
Field name | Data type | Length | |
---|---|---|---|
LanguageId | nvarchar | 50 | |
LanguageCode2 | nvarchar | 50 | |
LanguageName | nvarchar | 255 | |
LanguageNativeName | nvarchar | 255 | |
LanguageIsDefault | bit | 1 | |
LanguageAutoId | int | 4 | |
LanguageCulture | nvarchar | 50 |
EcomGlobalIso
System lookup table for internationalization ISO data.
Field name | Data type | Length | |
---|---|---|---|
IsoId | int | 4 | |
IsoCode2 | nchar | 2 | |
IsoCode3 | nvarchar | 3 | |
IsoCountryNameDK | nvarchar | 255 | |
IsoCountryNameUK | nvarchar | 255 | |
IsoCurrencyCode | int | 4 | |
IsoCurrencySymbol | nvarchar | 255 | |
IsoVat | float | 8 | |
IsoCultureInfo | nvarchar | 50 | |
IsoDisabled | bit | 1 |