MicroStrategy ONE

Translating Your Project for the First Time

Translating a project involves providing translated strings for metadata object names and descriptions.

If you use translator roles, be sure to assign the appropriate permissions and privileges in MicroStrategy to your translators before beginning the translation steps. See Creating Translator Roles for details.

There are two methods to translate metadata objects, depending on whether you want to translate a large number of objects or just one or two objects:

  • Translate a large number of objects: Extract strings in bulk to a translation database, translate them, and import them back into MicroStrategy. The MicroStrategy Repository Translation Wizard is the recommended method to internationalize your metadata objects. Steps to access this tool are below.
  • Translate one or more objects in a folder: Right-click the object and select Translate. Type the translated word(s) for each language this object supports, and click OK. To translate several objects, select them all while holding Shift or Ctrl, then right-click and select Translate. For details to use the Object Translation dialog box, click Help.

The rest of this section describes the method to translate bulk object strings, using a separate translation database, with the Repository Translation Wizard.

The Repository Translation Wizard does not support translation of configuration objects (such as the user object). It does support object descriptors, including embedded text. These are detailed in the introduction to Providing Metadata Internationalization.

If your project has not yet been translated, metadata internationalization involves the following high-level steps:

All of the procedures in this section assume that your projects have been prepared for internationalization. Preparation steps are in Preparing a Project to Support Internationalization.

  1. Enable languages for the metadata repository (see Enabling and Disabling Metadata Languages)
  2. Export object strings to a location where they can be translated (see Extracting Metadata Object Strings for Translation)
  3. Perform the linguistic translation (see Translating Metadata Object Strings in the Translation Database)
  4. Import the newly translated object strings back into the metadata repository (see Importing Translated Strings from the Translation Database to the Metadata)

Extracting Metadata Object Strings for Translation

The MicroStrategy Repository Translation Wizard supports Microsoft Access and Microsoft SQL Server databases as translation repositories. The translation repository is where strings are extracted to and where the actual translation process is performed.

You cannot extract strings from the project's default metadata language.

It is recommended that objects are not modified between the extraction process and the import process. This is especially important for objects with location-specific strings: attribute aliases, metric aliases, custom group elements, and document text boxes.

To Extract a Large Number of Object Strings for Translation

  1. Open the Repository Translation Wizard. To do this, from the Start menu, point to All Programs, then MicroStrategy Tools, then select Repository Translation Wizard.
  2. Click Next to begin.
  3. To extract strings from the metadata, select the Export Translations option from the Metadata Repository page in the wizard.

Translating Metadata Object Strings in the Translation Database

The extraction process performed by the Repository Translation Wizard creates a table in the translation database, with the following columns:

  • PROJECTID: This is the ID of the project from which the string is extracted.
  • OBJECTID: This is the ID of the object from which the string is extracted.
  • OBJECTTYPE: Each object is associated with a numeric code. For example, documents are represented by OBJECTTYPE code 55.
  • EMBEDDEDID: An embedded object is an object contained inside another object, for example, a metric object that is part of a report object. If the string is extracted from an embedded object, the ID of this embedded object is stored in this column. The value 0 indicates that the string is not extracted from an embedded object.
  • EMBEDDEDTYPE: This is a numeric representation of the type of the embedded object. The value 0 indicates that the string is not extracted from an embedded object.
  • UNIQUEKEY: This is a key assigned to the extracted string to identify the string within the object.
  • READABLEKEY: This is a description of the extracted string within the object, for example, Prompt Title, Prompt Description, Object Name, Template Subtotal Name, and so on. The READABLEKEY is a readable form of the UNIQUEKEY.
  • LOCALEID: This indicates the language of the extracted string in the TRANSLATION column.

MicroStrategy uses locale IDs to uniquely identify languages. For consistency, MicroStrategy uses the same locale IDs as Microsoft. The following table lists the language codes for the languages that MicroStrategy supports out-of-the-box.

Language Language Code

Chinese (Simplified)

2052

Chinese (Traditional)

1028

English (US)

1033

French (France)

1036

German (Germany)

1031

Italian (Italy)

1040

Japanese

1041

Korean

1042

Portuguese (Brazil)

1046

Spanish (Spain)

3082

Swedish

1053

For custom languages, MicroStrategy assigns a unique language ID based on the base language that it is derived from.

  • TRANSLATION: This is the column where the extracted string is stored.
  • TRANSVERSIONID: This is the version ID of the object at the time of export.
  • REFTRANSLATION: This column contains the extracted string in the translation reference language, which is selected by the user from the Repository Translation Wizard during export.

This string is used only as a reference during the translation process. For example, if the translator is comfortable with the German language, you can set German as the translation reference language. The REFTRANSLATION column will then contain all the extracted strings in the German language, for the translator to use as a reference when they are translating extracted strings.

If no reference language string is available, the string from the object's primary language is exported so that this column is not empty for any string.

  • STATUS: You can use this column to enter flags in the table to control which strings are imported back into the metadata. A flag is a character you type, for example, a letter, a number, or a special character (as long as it is allowed by your database). When you use the wizard to import the strings back into the metadata, you can identify this character for the system to use during the import process, to determine which strings to import.

    For example, if a translator has finished only some translations, you may want to import only the completed ones. Or if a reviewer has completed the language review for only some of the translations, you may wish to import only those strings that were reviewed. You can flag the strings that were completed and are ready to be imported.

  • OBJVERSIONID: This is the version ID of objects at the time of import.
  • SYNCHFLAG: This is a system flag and is automatically generated during import. The following values are used:
    • 0: This means that the object has not been modified between extraction and import.
    • 1: This means that the object has been modified between extraction and import.
    • 2: This means that the object that is being imported is no longer present in the metadata.

      System flags are automatically applied to strings during the import process, so that you can view any string-specific information in the log file.

  • LASTMODIFIED: This is the date and time when the strings were extracted.

Once the extraction process is complete, the strings in the translation database need to be translated in the extraction table described above. This is generally performed by a dedicated translation team or a 3rd party translation vendor.

  • If an object has an empty translation in a user's chosen project language preference, the system defaults to displaying the object's default language, so it is not necessary to add translations for objects that are not intended to be translated. For details on language preferences, see Selecting Preferred Languages for Interfaces, Reports, and Objects.
  • If you performed a Search for Objects in the Repository Translation Tool, you may notice that the number of rows in the extraction table might not match the number of rows returned in the search results. This is because a search returns all objects that meet the search requirements; the search does not filter for only those items that can be translated. Thus, for example, the search may return a row for the lookup table LU_YEAR, but the extraction process does not extract the LU_YEAR string because there is no reason to translate a lookup table's name. To determine whether an object's name can be translated, right-click the object, select Properties, and look for the International option on the left. If this option is missing, the object is not supported for translation.

To confirm that your translations have successfully been imported back into the metadata, navigate to one of the translated objects in Developer, right-click, and select Properties. On the left, select International, then click Translate. The table shows all translations currently in the metadata for this object.

Importing Translated Strings from the Translation Database to the Metadata

After strings have been translated by a language expert in the translation database, they must be re-imported into the MicroStrategy metadata.

To Import Translated Strings

  1. Open the Repository Translation Wizard. To do this, from the Start menu, point to All Programs, then MicroStrategy Tools, then select Repository Translation Wizard.
  2. Click Next to begin.
  3. To import strings from the translation database back into the metadata, select the Import Translations option from the Metadata Repository page in the wizard.

After the strings are imported back into the project, any objects that were modified while the translation process was being performed, are automatically marked with a 1. These translations should be checked for correctness, since the modification may have included changing the object's name or description.

When you are finished with the string translation process, you can proceed with data internationalization if you plan to provide translated report data to your users. For background information and steps, see Providing Data Internationalization. You can also set user language preferences for translated metadata objects and data in Enabling or Disabling Languages in the Project to Support DI.