Codelessly Set a Field to display a different Caption/Translation depending on which User accesses the system

2 minute read time.

Imagine a Customer that had two teams who use the opportunity entity in slightly different ways.

  • When a member of Team A is assigned to an opportunity they are known as the "Sales Agent"
  • When a member of Team B is assigned to an opportunity they are known as the "Business Development Manager"

Depending on the Users Team the caption on the Oppo_assigneduserid field should show the correct business terminology.

We can implement this rule in a way that requires no code by using the fact that Sage CRM allows you to add new languages.

We could add a new language for an individual department or team. This is especially useful when the different departments use the screens in Sage CRM in different ways and use different business terms to describe their activities. Adding a new language might sound a little daunting because there are over 12800 captions in a default installation of Sage CRM. But you do not need to define 12800 captions, all you need to do is define the new captions. This is because Sage CRM is configured to use a base language.

This is set in the screen

Administration -> System -> System Behavior

And if a language does not have a translation for a caption then it will display the default translation.

In my example I created a new language called TeamB.

I did this in the System Administration screens

Administration -> Customization -> Translations

I clicked the Add New Language button.

I provided a Language Code, Language Name and Language Caption for my new language and clicked Save.

I then turned on Inline Translation.

And then navigated to the Opportunity Screen.

The captions for each of the fields are marked with an asterix, Each asterix is a hyperlink to the editing screen that will allow me to easily change the translations for that caption. I am interested in the oppo_assigneduserid field, which I have highlighted in the above image. I clicked on the asterix and changed the translation for each language.

I made the US and UK translations read "Sales Agent" and the Team B translation read "Business Development Manager"

Once the change had been saved, I then turned off Inline Translation and returned to the Opportunity Screen.

For my System Administrator the translation of the oppo_assigneduserid field reads "Sales Agent".

I then navigated in the Administration screens and searched for all the users I wanted to use the new Language.

I then edited those users so that their Language was 'Team B'.

Now when that user navigates to the Opportunity Screen they see the following:

This is a very easy way to make sure that the different departments or teams see the business terminology that they need to use in their day to day work.