Creating Translations
Providing a full foreign-language translation of custom text throughout the Seven20 product can be achieved entirely through the use of the Translation Workbench, but it is also possible to input translations or overrides directly via the Custom Labels themselves. The latter is also particularly useful if clients simply want to reword individual pieces of text in English.
Translation Workbench
The Translation Workbench will need enabling and any required languages will need to be added to the list of languages supported by the org - for detailed guidance, see the Salesforce Translation Workbench help article.
The Translation Workbench can be used to manually translate any custom Seven20 text that is not a Custom Label - this includes custom field names, picklist values, Custom Actions, error messages for validation rules and so on.
Due to Salesforce limitations, the labels of Custom Actions and buttons cannot use merge fields, and therefore will not reference object or field labels.
There are some text elements for which Salesforce's method of providing translations via the workbench isn't entirely obvious - here are some common use cases which may be helpful:
- Packaged tabs such as Search and Shift Scheduler
- Navigate to Translation Workbench -> Translate
- Set Setup Component to Web Tab
- Edit the Custom Tab Label Translation field for the relevant tab and Save
- Custom object names in related lists
- Navigate to Translation Workbench -> Translate
- Set Setup Component to Custom Field
- Set Object to the object on the related list
- Set Aspect to Related List Label
- Identify the row where the Custom Field Label corresponds to the object where the related list appears
- Edit the Related List Label Translation field and Save
Mass translations
It is also possible to translate all custom text in bulk, including Custom Labels, using the workbench's Import/Export function.
- Navigate to Translation Workbench -> Export
- Select Bilingual
- Select the desired language
- Export as XLIFF
- Provide Seven20 with the document
- A series of CSVs will be returned, split into the below categories
- Custom labels
- Custom fields
- Picklist values
- Other
- Add the translation into the CSVs and return them to Seven20
- Seven20 will return a series of XLIFF files that can then be imported via the Translation Workbench import tool
This process will need to be completed separately for each required language.
The initial content and structure of the CSV file are designed to help manage the large volume of text to be translated in the Seven20 product by allowing for easy filtering using widely available software. The file also includes additional context around each piece of text to be translated. The translation for each text instance should be entered into the column whose header matches the target language's two-letter ISO code.
Do not edit the CSV headers.
This process does not require that a translation is provided for every single piece of custom text.
Example of a Custom Labels translation file
The below table shows how the columns in a populated CSV file might look for Custom Labels to be translated into Spanish:
| Id | Description | Value | Max length | es |
|---|---|---|---|---|
| CustomLabel.Email | 1000 | Correo electrónico | ||
| CustomLabel.No_JBAs_for_Job | 0:seven20__Job_Board_Application__c Plural 1:seven20__Job__c Singular | There are no {0} for this {1} | 1000 | No hay {0} para este {1} |
Example of a Custom Fields translation file
The below table shows how the columns in a populated CSV file might look for Custom Fields to be translated into Spanish:
| Id | Object | Field | Value | Max length | es |
|---|---|---|---|---|---|
| CustomField.seven20__Rate_Card__c.Active.FieldLabel | seven20__Rate_Card__c | Active | Active | 40 | Activo |
| CustomField.seven20__Time_Log__c.Finish_Time.FieldLabel | seven20__Time_Log__c | Finish_Time | Finish Time | 40 | Hora de finalización |
Example of a Picklist Values translation file
The below table shows how the columns in a populated CSV file might look for Pickist Values to be translated into Spanish:
| Id | Object | Field | Value | Max length | es |
|---|---|---|---|---|---|
| PicklistValue.seven20__Timesheet__c.Status.Paid | seven20__Timesheet__c | Status | Paid | 255 | Pagada |
| PicklistValue.seven20__Member__c.Role.Account Manager | seven20__Member__c | Role | Account Manager | 255 | Gerente de cuentas |
Example of an Other translation file
The Other translation CSV will include any outstanding translations that do not fit into one of the above categories. As it covers a variety of different types the headers are more generic but aim to provide more context to help inform exactly what the translation is for. The below table shows how the columns in a populated CSV file might look for an Other Values file to be translated into Spanish:
| Id | Type | Context 1 | Context 2 | Context 3 | Value | Max length | es |
|---|---|---|---|---|---|---|---|
| ButtonOrLink.seven20__Application__c.Mass_Email | ButtonOrLink | seven20__Application__c | Mass_Email | Mass Email | 240 | correo electrónico masivo | |
| QuickAction.seven20__Document__c.Download_Document | ButtonOrLink | seven20__Document__c | Download_Document | Download Document | 80 | Descargar Documento |
Manual translations/overrides for Custom Labels
Custom Labels can also be translated or overridden on an individual basis - see this Salesforce Help article for detailed steps.
The assigned Categories can be useful in finding specific labels.
Miscellaneous Translations
Due to Salesforce limitations, there are certain text elements that cannot be translated using either the Translation Workbench or Custom Labels, but will instead require a different method of translation:
- Custom object labels such as Jobs and Hotlists can be renamed via Setup -> User Interface -> Rename Tabs and Labels -> Custom Tabs
- Items in the Navigation Bar can be renamed as detailed in this Salesforce Help article
- Global picklist values can be translated via the translation workbench by selecting Global Value Set