Wednesday, September 26, 2012

Localizing BI Metadata in OBIEE

We Localize metadata specific to user locale deployments. This post explains how to localize the repository meta data. Users can select their preferred language choice and   create and view the analysis.

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 –> OBIEE Administrator’s guide.

Open your repository in the BI Admin Tool. Select the Subject Area which you want to localize. Right click on the subject area –> Externalize display names –> Generate custom name.

image

go to the Tools Menu –> utilities  and select the “Externalize Strings” utility.

Note: Before you do this, make sure your presentation layer objects have sensible names else the translation won’t make much sense.

image

image

Save the data to a csv file. I have named the file as salesLocalization.csv the contents of which look as shown below.

.localizing04

change the file contents as described below,

  • delete the last column
  • rename the columns to METADATA_OBJECT, SESSION_VAR, MESSAGE
  • create a new column LANG_ID
  • insert translated entries in the languages you want.

The first column contains the actual  repository object name, the second contains the session variable name for that object, the third contains the text that should be displayed in Answers and the fourth column you specify the language code.

the modified file will look like this:

image

create a table in your data warehouse schema

CREATE TABLE JT_LOCALIZATION
(
    METADATA_OBJECT     varchar2(200),
    SESSION_VAR     varchar2(200),
    MESSAGE     varchar2(200),
    LANG_ID     varchar2(5)
);

import the data from the csv file into this table by your technique of choice (toad, sql loader, etc).

create a new connection pool and import this table in the repository.

image

image

create a row-wise inilitalization block to match the user selected language session variable.

image

localizing09

give the default initialization string as

select SESSION_VAR, MESSAGE from JT_LOCALIZATION where LANG_ID =
'VALUEOF(NQ_SESSION.WEBLANGUAGE)'

localizing10

localizing11

localizing12

localizing13

localizing14

localizing15

Check for consistency, save your rpd and deploy it.

Login in to Answers, and select the default language (English),

logout and login but this time select French or Spanish and notice the change in the way the  translated text is displayed in answers.

localizing17

No comments: