Localization examples
Branding and customization |
---|
Entity item on home screen
In this example, we rename the title and subtitle of an entity on home screen, add a custom icon for the item.
- In Woodford, edit the home screen. Select the entity and click Rename. Use a unique one-word string, for example, "CustomAccount".
- Select Design > Localization from the Project menu and edit a language, Click Add to add a new localization string. As the ID, use "HomeTitle.HomeItemName"; in this particular example, "HomeTitle.CustomAccount". Add another string for HomeSubTitle.CustomAccount.
- If you want to change the icon of the home screen item, select Design > Images from the Administrator menu. Go to the Home directory and click Add to add a new image. As the image name, use the name you used in step 1, for example "CustomAccount".
Note | The icon change described in step 3 is an older way of changing icons; the recommended way is using to use the icon selector on the Images pane. |
Section on home screen
You can localize section labels.
- Rename the section to a unique one-word string, for example, "section-1".
- In project localization, add a new localization string with the ID matching the section name.
Hub item on home screen
In this example, we create a new hub, add it to the home screen with a custom label and icon.
- In Woodford, go to Components > Entity Hubs and create a new hub. Give it a unique, one-worded name, for example "myHub".
- Go to Components > Home screen and add the new hub to your home.
- Go to Design > Localization and add new strings. As the ID, use "myHub" for the title and "myHub.SubTitle" for the subtitle.
- Go to Design > Images and add the new icon to the Home directory. Use "myHub" as the name.
- Result:
Rename views
Views are internally identified by their names. As a result, renaming views is tricky; see the best practices. In this example, we use localization to change the label of a view in the app.
- In Woodford, go to Entities > Contact, click Show UI, and create a new view. Give it a unique, one-worded name, for example "USContacts".
- Go to Design > Localization, find the string for this new view and click Edit Project to enter a localized label.
- Result:
Rename view buttons and commands
When editing a view in Woodford, you can use Command editor to add actions to your views. Sometimes, it is appropriate to rename these actions so that users can understand them better.
Tip | If you have only a single command on your view, the text of the command is displayed on the button; in this case, use a short text. If you have multiple commands, they are available from the hamburger menu, and there's enough room for multiple words. |
To set a localized name for the buttons, go to Localization and open the appropriate language, for which you want to specify button names. Click Add to add a new localization item.
- To localize a standard button that does not require additional setup (for example, Email, SMS, or Delete), the string ID is
Buttons.NameOfTheCommand
; for exampleButtons.AssignToMe
.
- To localize the change of a status code, the ID is
entityName.ChangeStatus.statusNumber
; for exampleaccount.ChangeStatus.1
.
- To localize the Open button, specify the entity where the field exists and what is the field that points to that entity (lookup field), i.e.
Buttons.Open.entityName.lookupFieldID
; for example,Buttons.Open.contact.parentcustomerid
.
- If the button opens an Activity (to open a parent activity in case of a custom setup), the ID is
Buttons.Open.entityName.lookupFieldID
; for example,Buttons.Open.activitypointer.regardingobjectid
.
- To localize the Create button, e.g. you want to allow users to create a new Case from Account view, in addition to Buttons.Create, you need to specify the target entity name and the lookup field name on the target entity:
Buttons.Create.targetEntityName.lookupFieldID
. For example, when creating a Case record from Account view, the ID isButtons.Create.incident.customerid
. Again, the hint is that the targetEntityName and lookupFieldID name are displayed in the Button’s configuration.
Tip | Some commands and buttons are hard-coded (e.g. Cancel). Creating localization strings for other commands and buttons that match these hard-coded values may cause your command or button to disappear. |
Localize text labels in views
In addition to CRM data, you can also add constants - static text that can explain a value or serve as a label. Constants can also be localized so that in different languages, a different text is displayed. If you want to localize constants, they need to start with an at sign (@), e.g. @something
.
The ID for localizing is equal to the constant text with the opening "@".
Rename form tabs
Sometimes you might want to change the display name of the tab (for example, if you want to use spaces and characters not allowed in tab names).
- Edit an app project.
- Select Localization from the Project menu.
- Open the language for which you want to change the tab name.
- Expand Customized App UI, then expand the entity you want to edit, such as Account.
- Select Forms to display the relevant strings only.
- Look for the name of the tab, for example "General". Or you can search for "account.DetailView.General".
- Select the row and click Edit Project to change the text.
- Save all changes and publish the project.
Note | The space for the tab name in the app is usually limited. We recommend using short names. |
Rename form commands
Many of the form commands are available for localization out of the box. Go to Localization and search for Cmd.
.
Many commands are used on a great number of forms (for example, Delete). When you localize the label of the Delete command, it changes on ALL forms where the command is enabled.
To change the display name of the form command that changes the status or state of a record, you need to add or change string ID entityName.ChangeStatus.#
Custom commands
To localize custom commands on a form:
- Copy the label of the command.
- In your language localization, add a new item.
Enter the label of the command you've created into the ID field.
Enter your desired localization into the Label field. - Verify the result in the app.
Using rules, you can define shared variables that can be then placed on forms. As long as the name of the shared variable is a single word with special characters, this word can be used as the localization ID. Make sure to use unique names for your shared variables, for example, myParentCity
.
Separators
Form separators or spacers are used to organize fields into logical blocks. Separators can have labels defined in their Binding property. If the binding is a single word, it can be used as ID for localization.
Text strings
Text strings used in rules, for example, in Say Text, Warning, or Error messages, can be localized, as long as the text is a single word that starts with the at sign (@). Use the text without the @ as the localization ID.
Language-dependent behavior
You can use the language of the current app user as a condition in rules. Here you can find the language codes for many languages.
Field empty validation error
When you try to save a form or questionnaire, without filling a required field, the following error message is displayed: Field/question must not be empty!
- To change this, use the string
Alert.FmtFieldNotEmpty
. - The default value is
{0} must not be empty!
- The parameter
{0}
is replaced by field name or question name at run time.
Sync errors
You can localize the strings that are displayed in the app in case of synchronization errors. Use the following strings:
- CantConnect
- ServerLoginFailed
- ServerError
- HttpError403
- HttpError404
- HttpError408
- WebRequestFailed
See also: Feature introduction Webinar
Placeholder text
See Placeholder text in forms.
Setup screen
The Setup screen in Resco mobile apps allows users to configure their application. The parameters are organized in several sections. You can use localization to change the labels of the parameters and sections.
The parameters are available by default; search for "setup.". The section headings must be created manually.
Caption on the signature tab
It is possible to adjust the text (Signature) on the Media tab with signature. Just name the Media tab using a unique name among other tabs on the entity edit form and then you can localize the Signature text.
If you need to do this on the hidden attachment tab of the Note (Annotation) entity, use the localization string "annotation.Attachment.Signature".
DocuSign messages
You can translate some of the strings related to DocuSign integration.
- OfflineSign.ConnectingDocuSign
- OfflineSign.DocuSigningDocs
- OfflineSign.DocuSignAuthFailed
- OfflineSign.TokenExpired
- OfflineSign.SignedOffline
- OfflineSign.ReauthorizationNeeded
Chart names
To localize chart names, use "Entity.Chart.chartname".
Business process flow
Business Process Flow uses the following localization strings:
- "processflow.<stage label>" – name of a stage. Use the exact name as written in the web UI, including spaces; for example, "processflow.Initial Stage".
- "processflow.<field label>" – name of a field. Again, use the exact name as written in the web UI. If the localization string does not exist, the app falls back to the localization of the field on the entity.
Drop-down options for text input fields
You can use localization to predefine drop-down list options for normal text fields.
First, you must enable this behavior for any field:
- Edit an entity in Woodford.
- Select a text field and on the Properties pane, set its Formatting to one of the following options:
- DropDown: Users can select from a list of predefined options, or enter their own value.
- DropDownList: Users can select from a list of predefined options.
- Multi DropDown: Users can select multiple entries from a list of predefined options, or enter their own values.
- Multi DropDownList: Users can select multiple entries from a list of predefined options.
- Click Save.
Next, add the fields using localization.
- Select Localization from the Project menu.
- Define the values as new strings:
- Save everything and publish the app project.
Finally, verify the result in the app.
Bulk update strings
The following strings related to bulk update can be localized:
Msg.BulkMaxRecordsExceeded=Only first {0} records can be updated in a single bulk update operation.\n\nDo you wish to continue?
Msg.Validating=Validating...
Msg.Finishing=Finishing up...
Msg.BulkOperationFailed=Operation failed.
Msg.BulkNoFieldsToUpdate=There are no fields to update.
Msg.BulkFieldsUpdated=The following fields will be updated: {0}.
Msg.BulkFieldsCleared=Warning: The following fields will be cleared or set to default value: {0}.
Msg.BulkValidatedOk=All {0} changes were successfully validated.\n\nDo you wish to save the changes?
Msg.BulkValidatedWithErrors=Do you wish to continue and skip {0} records with validation errors?
Msg.BulkValidatedWithWarnings=Do you wish to continue?
Msg.BulkInfoValidatedChanges={0} changes validated.
Msg.BulkInfoValidationErrors={0} validation errors detected.
Msg.BulkInfoValidationWarnings={0} items validated with warnings.
Msg.BulkIncludeWarnings={0} changes are validated and will be saved.\nThere are additional {1} changes validated with warnings.\n\nHow do you want to proceed?
Cmd.BulkIncludeWarningsYes=Save all
Cmd.BulkIncludeWarningsNo=Skip warnings
Msg.BulkSavedOk=All {0} changes successfully saved.
Msg.BulkInfoSavedOk={0} items saved.
Msg.BulkInfoSaveErrors={0} items not saved due to error.
Msg.BulkInfoSaveSkipped={0} items were skipped.
Alert.BulkUpdateFormAlreadyOpened=Please close already opened bulk update form first.
Alert.BulkNoRecordsSelected=There are no records selected.