Skip to main content

Translation

Seven20 allows translation into any of Salesforce's supported languages, although clients are required to provide their own translations which can then be imported into the system.

All standard Salesforce functionality, including object and field names, will be translated automatically based on a combination of the preferred language and locale settings, both of which can be set either at the user or org level.

All custom Seven20 functionality can be translated via a combination of Salesforce's own Translation Workbench and Custom Labels.

info

The full list of languages supported by Salesforce can be found here.

info

If you find that a specific component can't be translated, please inform our team using support@seven20.io.

Custom Labels

All text displayed in Seven20's custom components and functionality uses Custom Labels. These labels allow clients to provide the exact translations they require for each text element in its own context.

Furthermore, wherever object and field references are included in labels, merge fields are used, allowing for automatic substitution of the object and field names, thus avoiding duplication of effort and inconsistency in terminology.

tip

Custom Labels can also be used to customise the default English text, with the object/field references ensuring that each client's own terminology is reflected throughout the system.

There are four key elements to each Custom Label:

  • Name: A unique API name
  • Categories: Each Custom Label is assigned multiple categories to assist users in understanding the different contexts in which they might be used, as well as facilitating searching for specific labels
  • Description: This is used to add further context as required; for example, if the label uses merge fields, the description will also specify which object, field or value will be used to populate these
  • Value: The default English text used for the label

Merge fields

Some of the Custom Labels used for translation include merge fields, which are used to display information dynamically. For example, they may reference the label of an object or field, or be populated with a variable, such as a count of records.

The Merge Syntax used within our Custom Labels system denotes each merge field as {n}, where n is a number that increments from 0 for each merge field in the label. Further details on this syntax can be found within Salesforce's Developer Guide. Whenever merge fields appear in Custom Labels, the description field will contain information about what data will be merged for each instance.

Example Custom Label with merge fields

PropertyValue
NameEnd_must_be_after_start
CategoriesSeven20, Shift Scheduler, Message/Info, Shift
Value{0} must be after the {1}
Description{0}:seven20__Shift__c.End_Time__c {1}:seven20__Shift__c.Start_Time__c

If an attempt was made to set the end time of a shift before the start time, this label would be rendered as:

End Time must be after the Start Time

By providing an override/translation for the Custom Label, we can change the output text, including rearranging the merge fields. Here is an English language override example:

Translation TextOutput Text
{1} must be before the {0}Start Time must be before the End Time