UX in Globalization tool

What UX options are in the Globalization tool? Our foundation IBM® TRIRIGA® Globalization Manager enables you to "export labels and record data... [which] can then be translated by you or a third party". From there, you can import your translations with the same tool. Within this foundation tool, you can select a UX option such as the Dictionary option.

Contents

I. Dictionary

To support our UX framework, you can select the Dictionary option to export the labels and tooltips from your HTML or JavaScript views as XLIFF files of unique translatable text. So, if a specific label appears in multiple views, only one unique entry will appear in the dictionary. Be aware that the triDictionaryEntry business object is required to perform this export.

II. Dictionary export

Here are the basic steps for a Dictionary export:

  • Open the Globalization Manager tool. Click Export.

  • ​Select the export type, process type, and target language.

    • Select Dictionary from the Label drop-down list.
  • Perform the export.

a. Globalization Manager > Export Dictionary

Globalization Manager > Export Dictionary

III. Translatable text

As part of the UX framework, the TRIRIGA platform can parse static translatable text from the UX view. Each view is made up of one or more HTML or JavaScript (JS) files. In turn, each HTML or JS file can be made up of the following components: TRIRIGA components, custom components, Polymer-based or React-based elements, and traditional HTML elements, as discussed in earlier articles.

The translatable text is stored as records of the triDictionaryEntry business object in the System module. When you open the UX view, the platform checks the language setting in your profile. If the language is not US English, the platform generates a translated version of the HTML or JS files and components, and pushes the translated UX view to your web browser.

a. Conditions for translatable text

Condition Examples
The HTML or JS element does not have the translate attribute

<paper-tab>Space Details</paper-tab>

Translatable text: Space Details

The HTML or JS element has the translate attribute with the value of yes

<paper-tab translate="yes">Audited Actions</paper-tab>

Translatable text: Audited Actions

The text is not blank and has at least one alphabetic character

Space Details

Audited Actions

123 A

The text contains data binding and has at least one alphabetic character

<span class="city">City: <span class="value">{{item.city}}</span></span>

Translatable text: City: <span class="value">{{item.city}}</span>

b. Sources of translatable text

HTML or JS element Translatable text Examples
Any element

The alt attribute

The description attribute

The error-message attribute

The label attribute

The placeholder attribute

The text attribute

The title attribute

Any custom *-label attribute

<paper-input label="Area" error-message="Invalid input value." value= "{{data.triAreaNU}}"> </paper-input>

<iron-autogrow-textarea placeholder="Instructions"> </iron-autogrow-textarea>

<tricomp-audit-header back-label="My Audits" action-label="Create" ...> </tricomp-audit-header>

Any element

Except for inner tags <p>, <span>, and the following List of inner tags

The text nodes

Parse the text nodes as individual translatable text and not concatenated text

<div>IBM TRIRIGA : <b>Move Planner</b> Application</div> (2 separate texts)

<th>Approver</th>

<div class="title">Approval History</div>

See the following List of inner tags The inner HTML

<b>Move Planner</b>

<h1>Projects</h1>

<label>Floor: </label>

<p>, <span>

The inner HTML

Grab the full inner HTML which can contain concatenated text with inner tags like <b> or <span>

<p>You <b>don't</b> have any requests</p>

<span class="city">City: <span class="value"> {{item.city}}</span></span>

<script> Any custom JavaScript __dictionary__* variable (double underscore before, double underscore after)

__dictionary__1 = "Space Details.";

__dictionary__2 = 'Audited Actions.';

__dictionary__Label = "You don't have any requests.";

List of inner tags
<a>, <abbr>, <acronym>, <b>, <bdi>, <bdo>, <cite>, <code>, <del>, <dfn>, <em>, <h*> (h1, h2, etc.), <i>, <ins>, <kbd>, <label>, <mark>, <meter>, <output>, <progress>, <q>, <rp>, <rt>, <ruby>, <s>, <samp>, <small>, <strong>, <sub>, <sup>, <time>, <u>, <var>, <wbr>

IV. Globalization manager and dictionary records

Use the Globalization Manager, instead of object migration, to export and import dictionary (triDictionaryEntry) record data. But if you choose object migration, make sure to remove existing dictionary records from the target environment before you import the package with your dictionary records.

Because the dictionary record name is mapped from a control number, there is no guarantee that the control number sequence in the source environment will match the sequence in the target environment.

Similarly, use the Globalization Manager, instead of manually adding dictionary records to the T_TRIDICTIONARYENTRY database table. But if you choose to add a dictionary record to this table, make sure that the table has an entry for the same text value, where the language code equals that of the base language. Then you can add the entry for the target language.