Difference between revisions of "Localization examples"

From Resco's Wiki
Jump to: navigation, search
(Form: localize shared variables, separators, text strings in rules)
Line 81: Line 81:
=== Separators ===
=== Separators ===
Form separators are used to organize parameters on for tabs into blocks.
[[Form#Add_fields|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.
<gallery mode="packed" heights=140px style="text-align:left">
File:Separator1.png|Add separators and their bindings |alt=Add separators and their bindings
File:Separator2.png|Add custom localized strings    |alt=Add custom localized strings
File:Separator3.png|Verify the result in the app  |alt=Verify the result in the app

Revision as of 11:50, 14 January 2020

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