Label Localization

This tutorial shows how to use Force.com custom labels, along with Translation Workbench, to display public-facing text in each of your users’ preferred Language.

Create a New Label And Translation in Salesforce

(Optional) Activate the Translation Workbench [[]]

If you want to translate the custom labels you create, you must first turn on Salesforce’s Translation Workbench

  1. In the Salesforce Setup pane, navigate to Translation Workbench > Translation Settings.
  2. Click Enable.

Create the custom label

  1. In the Salesforce Setup pane, navigate to Create > Custom Labels.
  2. Click New Custom Label.
  3. Enter the Description and the Value of this custom label. (The Name value will autopopulate.) Use this name value for the label ID in Skuid’s App Composer.

image0

  1. Click Save.

(Optional) Translate the custom label

In the Custom Label screen, click New to add translations.

image1

Include the Label within the Skuid Page

  1. In the App Elements Pane, click Labels.
  2. Click fa-plus-circle Add Label.
  3. Click the newly created label.
  4. For Label Id, enter the name of the label you wish to include in your page.
  5. Click Save.

Repeat these steps for every label you want to use on this page.

Reference the Label with Merge Syntax

You can now reference this label in any field that accepts merge syntax using the $Label global merge variable. This includes Page Title, Field Names, Templates, etc.

To include a custom label use {{$Label.<LabelName>}}.

For example:

  • {{$Label.Save}}
  • {{$Label.My_Custom_Label}}

For more technical details, see the $Label global merge variable documentation.

Result: Your Custom Label Displays Wherever It Is Referenced

image2

If labels have an appropriate translation, users will see that translation based on their personal language setting.

image3

Troubleshooting

  • My label does not display in the page.
  • My label does not display despite and I receive Invalid Label Name error.
    • Your custom label may not be accessible because it is marked as a protected component. Edit the custom label to unmark this property.