Implementing Translations in Multidimensional Models

This document provides a comprehensive guide to implementing translations for your SQL Server Analysis Services (SSAS) multidimensional models. Localizing your data allows users to interact with cube data in their preferred language, significantly enhancing usability and global reach.

Why Use Translations?

Multilingual support is crucial for enterprise applications deployed across diverse geographical regions. By providing translations for metadata and data, you enable:

What Can Be Translated?

In SSAS multidimensional models, you can translate various elements:

How to Implement Translations

Translations are managed through the SSAS multidimensional model designer in Visual Studio. The process involves defining languages and then providing translations for each translatable object.

Step 1: Define Supported Languages

Before adding translations, you need to specify the languages that your model will support. This is done at the project level.

  1. Open your SSAS multidimensional project in Visual Studio.
  2. In the Solution Explorer, right-click on the SSAS project name and select Properties.
  3. Navigate to the Translations tab.
  4. Click the ellipsis button (...) next to the Languages property.
  5. In the Supported Languages dialog box, click Add and select the desired languages from the list.
  6. Click OK.

Step 2: Add Translations to Objects

Once languages are defined, you can start adding translations to specific objects.

Translating Dimension Attributes

Dimension attributes are often the most important part to translate.

  1. Open the dimension you want to translate in the Dimension Designer.
  2. Switch to the Translations tab.
  3. For each language, select the attribute you want to translate.
  4. In the grid, enter the translated name for the attribute member.
Tip: For hierarchies, you can translate the hierarchy name itself from the General tab of the Dimension Designer by selecting the desired language from the Language dropdown.

Translating Cube Objects

Cube objects like measures and measure groups can also be translated.

  1. Open the cube you want to translate in the Cube Designer.
  2. Switch to the Translations tab.
  3. Select the language from the Language dropdown at the top of the pane.
  4. Right-click on the object (e.g., measure, measure group) you want to translate and select Edit Translations.
  5. Enter the translated name for the object.

Translating Cell Data

If your underlying data source contains localized text that you want to expose through your cube, you can use attribute translations or directly translate measure values if applicable.

Step 3: Deploy and Test

After implementing translations, deploy your SSAS project and test the results by connecting to the cube using a client tool configured for one of the supported languages.

Important Considerations:
  • Ensure you have accurate and consistent translations.
  • The default language of the model will be used if a translation is not available for a specific language.
  • For large numbers of translations, consider using external translation management tools or services.

Example: Translating a Product Dimension

Let's say you have a Product dimension with a 'ProductName' attribute. You want to support English (default) and French.

  1. Add 'fr-FR' to the supported languages in project properties.
  2. In the Product dimension designer, go to the Translations tab.
  3. Select the 'ProductName' attribute.
  4. For the 'fr-FR' language, enter the French product names in the respective cells.
  5. Deploy the solution.

When a client application connects using a French locale, it will see the translated product names.

Best Practices