Preparing for Folder Item Localization
Preparing for Folder Item Localization
This section describes how to prepare for localization of strings in the dashboards, pivot tables, and other folder items.
Default Domain
DeepSeeUser is the domain that the system uses by default when it looks for a localized string in a dashboard. For details, see the following sections.
Adding Strings to the Message Dictionary
Create a class that, when compiled, generates a set of entries in the Message Dictionary. In this class:
-
Extend %RegisteredObjectOpens in a new tab or any other class that provides access to the standard system macros.
-
Specify the DOMAIN class parameter. For example:
Parameter DOMAIN = "DeepSeeUser";The DeepSeeUser domain is the most convenient choice, because this is the default domain.
-
Define a method that uses $$$Text(Localizable String) to refer to each string that the given domain should contain. Localizable String is an expression that evaluates to a string in this domain.
You can specify any name for the method. It does not need to take any arguments or return any values. The following shows an example:
ClassMethod DefineL18N() { set x=$$$Text("Dashboard Title") set x=$$$Text("Dashboard Description") set x=$$$Text("KeywordA") set x=$$$Text("KeywordB") set x=$$$Text("Control Label") set x=$$$Text("Tooltip") set x=$$$Text("Widget Title") set x=$$$Text("Chart Title") }Or, instead of $$$Text(Localizable String}, use $$$Text(@MessageID@) where MessageID is a numeric ID that is unique within the given domain.
When you compile this class, the compiler finds each instance of the $$$Text macro and adds values to the ^IRIS.Msg global in this namespace.
Using Localizable Strings in a Dashboard, Pivot Table, or Other Folder Item
Wherever you would like to include a localized string as part of the definitions for your dashboards, pivot tables, or other folder items, provide a reference to one of the strings which you have defined as part of a Message Dictionary.
To localize a string in fields other than folder item names and pivot table descriptions (which require a different syntax), refer to the localized string using the following syntax:
// To use the value of a localizable string:
$$$LocalizableString/Domain1
// To use a message ID:
$$$@MessageID/Domain2
Where
-
LocalizableString is a localizable string which you have defined in a Message Dictionary.
-
MessageID is a numeric message ID, as defined in a Message Dictionary.
-
Domain1 and Domain2 are the respective domains within which you have defined the string or ID. Including the domain is optional; if you refer to a localizable string or a message ID without specifying a domain ($$$LocalizableString or $$$@MessageID), Business Intelligence looks for the string in the default domain.
For example:

Folder Item Names and Pivot Table Descriptions
To localize a folder item name or a pivot table description, use the following alternative syntax:
// To use the value of a localizable string:
$$$LocalizableString1#Domain1/$$$LocalizableString2#Domain2[/...]
// To use a message ID:
$$$@MessageID3#Domain3/$$$@MessageID4#Domain4[/...]
Where:
-
LocalizableString1 and LocalizableString2 are localizable strings which you have defined in a Message Dictionary.
-
MessageID3 and MessageID4 are numeric message IDs, as defined in a Message Dictionary.
-
Domain1, Domain2, Domain3 and Domain4 are the respective domains within which you have defined the string or ID. As with other fields, the domain is optional; if omitted, Business Intelligence looks for the string in the default domain.
-
[/...] represents the repetition of this pattern, as needed.
Unlike other fields, Business Intelligence localizes folder item names and pivot table descriptions on an all-or-nothing basis: it attempts to resolve the content of one of these fields for localization if and only if the content string begins with the string "$$$", and it evaluates the whole, undivided content string according to the preceding syntax. If the content string does not begin with "$$$", Business Intelligence ignores occurrences of “$$$” elsewhere in the string, and no localization occurs.