Localization examples

From Resco's Wiki
Jump to: navigation, search

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.

  1. In Woodford, edit the home screen. Select the entity and click Rename. Use a unique one-word string, for example, "CustomAccount".
    Rename item on home screen.png
  2. Select Design > Localization from the Administrator 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.
    Home title custom strings.png
  3. 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".
    Home item localization result.png

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.

  1. In Woodford, go to Components > Entity Hubs and create a new hub. Give it a unique, one-worded name, for example "myHub".
  2. Go to Components > Home screen and add the new hub to your home.
  3. Go to Design > Localization and add new strings. As the ID, use "myHub" for the title and "myHub.SubTitle" for the subtitle.
  4. Go to Design > Images and add the new icon to the Home directory. Use "myHub" as the name.
    Adding a custom icon for hub.png
  5. Result:
    Home item localization result.png

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.

  1. In Woodford, go to Entities > Contact, click Show UI, and create a new view. Give it a unique, one-worded name, for example "USContacts".
  2. Go to Design > Localization, find the string for this new view and click Edit Project to enter a localized label.
    Rename view using localization.png
  3. Result:
    Renamed view in action.png

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 example Buttons.AssignToMe.
  • To localize the change of a status code, the ID is entityName.ChangeStatus.statusNumber; for example account.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 is Buttons.Create.incident.customerid. Again, the hint is that the targetEntityName and lookupFieldID name are displayed in the Button’s configuration.

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).

  1. Edit an app project.
  2. Select Localization from the Project menu.
  3. Open the language for which you want to change the tab name.
  4. Expand Customized App UI, then expand the entity you want to edit, such as Account.
  5. Select Forms to display the relevant strings only.
  6. Look for the name of the tab, for example "General". Or you can search for "account.DetailView.General".
  7. Select the row and click Edit Project to change the text.
  8. Save all changes and publish the project.

Localize label of the general tab of account form.png

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..

Form command labels.png

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.#

Changestatus localization.png

Form: localize shared variables, separators, text strings in rules

Shared variables

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.


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.

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.

Localization strings for setup section headings.png

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".

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.