Localizing Metadata Names in the Repository

You can use the Externalize Strings utility in the Administration Tool to localize the names of subject areas, tables, hierarchies, columns, and their descriptions in the Presentation layer.

You can save these text strings to external files with ANSI, Unicode, and UTF-8 encoding options.

  1. Open the repository in the Administration Tool.

  2. Right-click any Presentation layer object, such as a subject area, presentation table, or presentation column, and select either Externalize Display Names then Generate Custom Names, or Externalize Descriptions then Generate Custom Descriptions to externalize strings. Note that when you select Generate Custom Names and then run the Externalize Strings utility, the translation key will also appear in the Externalize Strings dialog.

    Selecting one of these right-click externalization options automatically selects the Custom display name or Custom description options in the Properties dialog for the selected object and all of its child objects.

    For example, if you right-click a subject area and select one of the externalization options, then the externalization flag is set on all presentation tables, columns, hierarchies, and levels within that subject area.

  3. Select Tools, then select Utilities.

  4. Select Externalize Strings and click Execute.

  5. In the Externalize Strings dialog, select one or more subject areas in the left pane.

    In the right pane, the translated values and the original strings (names and descriptions) are displayed. These are placed in session variables for use by Presentation Services.

    Only those objects with the externalization flag set in the Presentation layer are displayed in the right pane.

  6. Click Save.

  7. In the Save As dialog, do one of the following:

    • If you selected a single subject area, then select a type of file and an encoding value and click Save.

    • If you selected multiple subject areas and want each one externalized in its own XML file, then select a directory name and press SHIFT while clicking Save. Each subject area is saved to an XML file with Unicode encryption.

  8. In the Externalized Strings dialog, click Close.

  9. (Optional) To disable externalization, right-click a Presentation layer object and select Externalize Display Names, then Disable Externalization, or Externalize Descriptions then Disable Externalization.

    Selecting one of these options automatically deselects the Custom display name or Custom description options in the Properties dialog for the selected object and all of its child objects.

When you have created the string files using the Externalize Strings utility, you can use the files to translate the strings for the metadata objects, as described in the following procedure.

  1. Open each string file and examine the columns:

    • The first column contains the actual repository object names, which have a prefix of their type.

    • The second column contains the session variables that correspond to the name of each object or description, with a default prefix of CN_ for custom names and CD_ for custom descriptions.

    • The third column contains the translation keys that correspond to the name of each object.

  2. Add a fourth column called Language. In this column, specify the code for the language in which the name was translated, such as de.

  3. Load each string file into a database table.

  4. In the Administration Tool, import the table into the physical layer.

  5. Load the translated strings using row-wise initialization blocks. Ensure that you set the target of the initialization block to Row-wise initialization and that the execution precedence is set correctly.

    For example, you could do the following:

    1. Create a session initialization block that has the data source from a database, using a SQL statement such as the following one:

      SELECT 'VALUEOF(NQ_SESSION.WEBLANGUAGE)' FROM DUAL
      
    2. In the Session Variable Initialization Block dialog for SET Language, specify the LOCALE session variable for the Variable Target.

      This specification ensures that whenever a user signs in, the WEBLANGUAGE session variable is set. Then this variable sets the LOCALE variable using the initialization block.

    3. Create another session initialization block that creates a set of session variables using a database-specific SQL statement such as the following one in the Session Variable Initialization Block Data Source dialog:

      select SESSION_VARIABLE, TRANSLATION from external where LANGUAGE =
      'VALUEOF(NQ_SESSION.LOCALE)'
      

      This block creates all the variables whose language matches the language that the user specified during sign-in.

    4. In the Session Variable Initialization Block Variable Target dialog, set the target of the initialization block to Row-wise initialization.

    5. In the Execution Precedence area of the Session Variable Initialization Block dialog, specify the previously created initialization block, so that the first block that you created earlier is executed first.

  6. Save your changes.

Tips

For information on the language for the Administration Tool, see Modifying the Language of the User Interface for the Administration Tool.

If you have an Oracle Application Development Framework data source, then you can propagate labels and tooltips from that data source, instead of using the Externalize Strings utility. See Metadata Repository Builder's Guide for Oracle Business Intelligence Enterprise Edition.