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:

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)
Figure 1.1 Adding a language to your solution

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.

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)

Figure 2.1 Switching language context

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.

Figure 2.2 Switching 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.

Figure 2.3 Switching language context

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:

All of these are language-specific and cannot be localized, but must be created separately in each language context.

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:

  1. Open it
  2. Switch to the desired language context
  3. 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:

To force-show unlocalized product catalog content, you can use the advanced configuration settings.

You can read about the settings in this article.

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.
Figure 5.1 Force-localizing new products

You can read more about the settings in Advanced configuration here.

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).
Figure 6.1 Controlling variation across languages

You can read more about the Fields settings in this article.

Dynamicweb supports a number of query string operations for manipulating the internationalization settings:

Parameter Effect
LanguageID=LANG1 Switches the language context to LANG1
database

These are the database tables related to internationaliation in Dynamicweb:

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