Developing an International Commerce Server Application

Commerce Server 2007
For the latest version of Commerce Server 2007 Help, see the Microsoft Web site.

For your Commerce Server Web application to be international, it must support multiple languages, multiple currencies, and so on. This topic summarizes the various aspects of the application that must take such international considerations into account, organized by Commerce Server systems.

Commerce Server System


Summary Information


Multilingual catalogs

You can share a common product catalog that has information in multiple languages by adding multilingual properties for every language you support on your site. For example, you can define a multilingual property for a product description. The Display Name field for this property would contain "Description" in English, and, in German, "Beschreibung" (which means "Description" in German).


Multicurrency catalogs

You can define a base currency per catalog. To price products in other currencies apply a pricing rule or add extra currency properties.

The MONEY data type that is used for currency supports only four decimal places.


Site terms

You must create unique site terms for each language you support. For example, if you create a site term for "Favorite Sport" in English, you must also create a site term "Deporte Favorito" in Spanish, if you are supporting Spanish on your Web site. Alternatively, you can use the Site Term value as a key into a localized resource string loaded from a Satellite Assembly (using the .NET Framework ResourceManager class).


Profile properties

You can create multilingual profile properties by adding custom attributes to property definitions. For example, if you have a "City" property for your English address profile, you could create a custom attribute that uses the following values:

  • Name: City_Fr

  • Display Name: Ville (City in French)

  • Description: Votre ville (Your city in French)

  • Value: Paris

The Profiles System supports Unicode for its data store.

Business Analytics

Data Warehouse

You can create a single Commerce Server Data Warehouse that imports data from multiple language-specific applications. For example, you can import transaction data from a French application and a Japanese application into a single Commerce Server Data Warehouse.

In order to create a single site that supports international users by using multiple code page settings (for example, both Western European and Japanese), you must set your log file code page and URL encoding settings to UTF-8.

Business Analytics


You can generate reports that summarize data from multiple languages and currencies. For example, if you have a site that has multiple language-specific applications, you can generate the Top Requested Pages report that is supplied with Commerce Server, to summarize the most popular pages across all language groups. The language settings for the user’s browser will affect the appearance of the data in the report.

Commerce Server provides no predefined reports that summarize data on a per language basis.



You must create separate advertising content for each language.



You must create separate discounts for each language.


Direct mail

You must create separate Direct Mail campaigns for each language.


Order Processing

The converted line items displayed on the site may not match the total cost billed to the user because exchange rates change over time. Prices must be marked as approximate when they are displayed.

Commerce Server assumes that the prices for each item in the cart are in the same currency.

The Commerce Server discounts feature is not designed to handle multiple currencies.

If you want to use ads and discounts in multiple languages, you must re-create each ad/discount in the appropriate language.



You can localize the messages in your pipelines by using the MessageManager feature. For more information about international issues with pipelines, see International Considerations for Developing Pipelines. For more information about MessageManager, see What is MessageManager?