Translation Workbench

Translation Workbench

From AT&T Support Wiki

Translation Workbench
Jump to: navigation, search

Settings > Administration > Global Resources > Translation Workbench

The Translation Workbench makes it possible to deliver an application in multiple languages, by mapping words or phrases in a different language to the (default) English language labels.


About the Translation Workbench

By default, the platform user interface (UI) is labeled in English. In order to make the platform more usable for a global audience, these Eligible Platform Elements can be customized with language labels. These configurable platform elements are presented in a language that is more familiar to users, which improves their effectiveness. Any of the Supported Languages can be selected. The Audit Log will reflect language translation, if it has been implemented.



Users that have the Manage Translation Workbench permission can View, Import or Export the translation tables 

Although generally intended for localization of Custom Objects, the translation workbench can also be used to modify the labels associated with Built-in or CRM objects.

Developers can specify Java-style i18n labels and default values for Custom Labels.

Multiple languages can be enabled for a single platform tenancy. Individual users can select a default from the list of available languages.

Learn more: Language Translation

Load the Translation Workbench

In order to enable Multiple Language Translation, language labels must first be loaded to the Translation Workbench. Two methods are available to load the Translation Workbench:

Manual Edit
Use this option to change language labels individually
Import and Export
Use this option for mass changes to language labels

Manual Edit

To edit individual language translations:

  1. Click Settings > Administration > Global Resources > Translation Workbench
  2. Use the following options to navigate to the element of interest:
    Choose one of the available languages from the list.
    (The choices are determined by the Company Information settings.)
    Choose one of the Eligible Platform Elements for editing
    Type and Subtype:Optional, and are not presented with every Language + Element combination
  3. Click the [Edit] button
  4. Manually edit the Translated Display Label
  5. Click [Save]

Import and Export

To create a new language translation file in CSV format, follow this procedure:

Step 1: Export an existing language set.
Step 2: Change the language-designation for each entry in the file.
Step 3: Add the translated entries into the file using an external translation system.
Step 4: Re-Import the resulting file to create a new language option.
  • Translation Id is unique to each tenancy
  • The import will fail if:
  • The order of the fields in the CSV file is changed
  • The Translation Id field is changed
  • Objects have two records in the translation export file, where Item Type is Object Singular Label and Object Plural Label

Export Translation Entries

To export an existing language to a file:

  1. Click Settings > Administration > Global Resources > Translation Workbench
  2. Click the [Export Translation Entries] button
  3. In the Translation Information section, select:
    Choose the language to export
  4. In the Email Address Section, select:
    Email address
    Enter an email address
    A link to the CSV file is sent to this email address.

The contents of the CSV file can be translated to any desired language. It contains the labels for all Eligible Platform Elements.

Change Language Designation

A typical language translation files can contain thousands of records. Here is part of one exported from the platform:

Translation Id,Language,Item Type,Additional Info,Base Label,Translated Label
11eb24840b494736933dfea6ed13b50a,en,Object Singular Label,,Account,,
11eb24840b494736933dfea6ed13b50a,en,Object Plural Label,,Accounts,,

60ed42521fd54de5a24d294ee8494db9,en,Object Plural Label,,Active Employees,,
5f13c0b09d93427eb073a38c31146f68,en,Object Plural Label,,Benefits,,
443eeb61c2cf4e6da297bf80b09a5c2a,en,Object Plural Label,,Cases,,
58f403513d8d40bb9f0190cb0974add5,en,Object Singular Label,,Company,,
11ee93bca9f649ceadbee7a66ec163d4,en,Object Singular Label,,Compensation,,
c3d33c48ba104eefa2d56ae45f39c667,en,Object Plural Label,,Contacts,,

fa2d4a8bc6e24d4f8a3c6d2bcfcb6c1c,en,Section,Object:Contacts,Layout Name:Default Layout,Contact Information,,
da7d3db7e078419ebc583a1a4f061ea0,en,Section,Object:Contacts,Layout Name:Default Layout,Description Section,,

Note that the language-designation for each entry is "en" (English). When translating the language into Spanish, for example, you would do a search/replace to change each instance of ",en," to ",es,". (Adding the commas ensures that you don't make an unintended change.)

Import Translation Entries

To import the translation entries file:

  1. Click Settings > Administration > Global Resources > Translation Workbench
  2. Click the [Import Translation Entries] button, and complete the following information:
    Specify the language to import
    Select the file to load
    Click the [Browse] button to navigate to the file
  3. Click [Save]

About Elements in the Translation Workbench

Each language translation file contains these elements:

  • Language
  • English (Default)
  • Other languages, as available
  • Element
  • Type (of Element)
  • Subtype (of Element)

Eligible Platform Elements

To view translation entries, you choose Language, Element, type, and subtype, where the type and subtype options depend on the Element. (In the example shown below, the type is "Objects", and the subtype is "Workflow".)

For each item, the following information is shown:

  • Name
  • Elements (Optional)
  • Default Display Label
  • Translated Display Label
  • Default Display Label (Plural), Translated Display Label (Plural) (Optional)

Types and Subtypes

Element Type, Subtype
Custom LabelsCategory
  • Category Name
Digital SignaturesObjects
Enumerated Fields
  • Checkboxes
  • Multiple Checkboxes
  • Picklists
  • Dependent Picklists
  • Multi Select Picklists
  • Radio Buttons
Fields Objects
Field Help Labels Objects
Forms Objects
Form Related Items Objects
Sub Type
  • Layout Field Help Labels
  • Multi Value Lookup Labels
  • Quick Links
  • Related Information Section
  • Related Information Button Labels
  • Sections
Global PicklistsGlobal Picklist
Home PagesApplications
  • Label
  • Widget Title
    • Pages
Report Folders
  • Label
  • Widget Title
  • Sidebars
ViewsView Type
  • Object Related Views
  • Objects
  • Other Views
Web Tabs
  • Label
  • Widget Title
  • Sidebars
  • Workflow

Custom Labels

Custom Labels provide the the ability to create free-form messages, or alphanumeric text strings in:

  • Onscreen help or tips
  • Alert messages
  • Warning messages

The custom labels are added via the Translation Workbench, and are used in these elements in the platform:

To add custom labels:

  1. Click Settings > Administration > Global Resources > Translation Workbench
  2. Specify the following information:
    Select the desired language
    Custom Labels
    --New Category--
    Category Name
    Enter a name for the category
  3. Click the [New Category] button
  4. In the form that appears, enter the token and the Translated Custom Message
    • A maximum of 100 tokens can be created for each Category
  5. Click [Save]

Custom Labels For Developers

Accessing a Custom Label in JAVA

The translateToken API accesses a Custom Label (a message) defined in the Translation Workbench.

String result = Functions.translateToken(String key)
String result = Functions.translateToken(String key, String [] args)
The category and token (index key) for the message to retrieve, in the form: "#category.token_name".
An array of string-arguments to be substituted into the message, in the locations defined by the message format.
A string containing the selected message in the user's currently active language, with specified arguments substituted.
In this example, go_msg is a Custom Label in the Translation Workbench created in the "custom" category, where the translation in the user's current language is "It's a {1} day for a {2}." Supplying the arguments then allows for variations on the message.
String [] args = {"nice", "walk"};
String msg = Functions.translateToken("#custom.go_msg", args));
    // ==> "It's a nice day for a walk."

Accessing a Custom Label in HTML


  • The category and tokens defined in Custom Labels are used to construct a key.
  • The key and related arguments are passed to a Message Tag, which returns a localized message.

Creating a Key

To access a Custom Label in HTML, you create a key, using the same format as Template Variables:

Created from category name, followed by '.' and token name
Name of the Category
Name of the Token

For a category named webtab, create the following tokens:

welcome_msg = Welcome to the {0}
message = This application keeps track of your customer service requests quickly and easily

To create language labels using the custom label key, add arguments as follows:

Which displays in the UI as: Welcome to the ABC
  • The carat (^) character is used to separate arguments passed to the function
  • If the argument is missing ({#webtab.message}), the default message is displayed: This application keeps track of your customer service requests quickly and easily.
  • Tokens are supported in:
  • HTML
  • Raw HTML
  • Components




Using Message Tags

Message Tags support multiple languages, using Custom Labels created in the Translation Workbench.

  • When a message tag is implemented, the message appears in the default language (selected via Company Information).
  • Message tags are part of the platform Tag library
  • If the key is not defined in the Translation Workbench, the key defined in the call will be displayed.
<%@ taglib uri="/LJTagLib" prefix="lj" %>
<lj:message key="#{category}.{token}" arg1="Julia" arg2="Jones"/>

Assume the following item is specified in the Translation Workbench:

Category webtab
Token message
Message Requester Name: {1}, {0}

Then this code:

<%@ taglib uri="/LJTagLib" prefix="lj" %>
        <title>Customer Details</title>
        <h1>Customer Details</h1>
           <p>All the details</p>
        <lj:message key="#webtab.message" arg1="Julia" arg2="Jones"/>

Causes this text to be inserted into the HTML:

Requester Name: Jones, Julia
Personal tools