Language IO Case for Salesforce - Custom Settings
The features of the Language IO Case for Salesforce application are heavily customizable. This allows organizations to tailor their integration to their specific needs. The purpose of this article is to give you a list of all the options that are available to you in the app’s custom settings, as well as scenarios in which you might want to enable, or disable, these features.
Creating the Default Organization Level Values
After you install Language IO Case for Salesforce, you must create a Default Organization Level Value for the Language IO Response Public Settings. This is the page from which you can then customize your settings. Keep your Named Credentials at hand to complete this step.
- Go to Setup > Custom Settings
- Enter “Custom Settings” in the quick find box.
- Click Manage to the left of "Language IO Response Public Settings":
- Click New to create a Default Organization Level Value:
Example
The image below shows a list of the Default Organization Level Values available for configuration as of version 2.27. Depending on your version and configuration, your list of available custom settings might be different. If you have any question about upgrading, consult your Customer Success Manager.
(Click to enlarge)
Configuring different custom settings based on given users or profiles
You can configure different custom settings and assign them to specific user profiles, or even individual users. To do so, follow these steps:
- Click New below the existing custom settings.
- If there are no existing custom settings, click the second New button located below the Default Organization Level Value:
Notes
- There is a Location field with a drop down menu option.
- You can assign a custom setting based on a given User or Profile.
- You can have multiple, different custom settings for multiple profiles or users:
Next step
After you install the package, proceed to Step 6: Configuring the Case Object.
List of Custom Settings
| Setting Name | Details |
| Auto-Send Email Draft | Use this feature to automatically email the translation of the agent’s response to the end user when it is received. When you leave this option unchecked, the translation remains in draft form in the case until an agent manually sends it to the end user. |
| Default to Human Translation |
This setting is relevant if you use Rapid Human Translation in your cases. If you plan to use only Machine Translation, you can safely ignore this setting. Use this field to specify a list of languages that should always default to human translation when detected. List the corresponding language and locale (for example, French for France is "fr-fr") for each language, separated by commas. The human translation takes place when translating outgoing e-mails. |
|
Regular Expression for Description |
A regular expression (shortened as regex or regexp) is a sequence of characters that specifies a match pattern in text. For example, in certain regex, the period character
|
| Email Draft Divider |
Use this field to enter a text string or a regular expression to use as a delimiter. When you specify this delimiter, the Language IO application only retrieves for translation the email text that was added after the delimiter. This way, you can make sure that a long history of emails is not sent to the Language IO server for translation when an agent requests the translation of a single, outgoing email. As an example, common delimiter strings would contain a portion of the shared email signature that is populated by Salesforce for agents. The application translates the text after the agent’s signature, typically the last email received from the end user. |
| Hide Email Options and Hide Post Comments Options |
This setting is relevant if you use Rapid Human Translation in your cases. It allows you to give agents the option to use RHT or not. If checked, the agent does not see the option next to the visual editor that lets them decide whether their response to the end user is translated via human or machine translation services. If unchecked, the agent sees a toggle next to the visual editor where they can decide whether to have their response to the end user translated via human or machine translation services. |
| Email Content Type | This field lets Language IO know whether to expect HTML tags in the email content for translation. Enter html in this field if tags are embedded in the content and enter text if no tags are embedded in the content. |
| Only Show Translations in Plugin |
This setting is relevant if your support organizations considers that the number of comments in a case counts against the agent's overall productivity score. By default, the translations of end user emails and translations of agent responses are also stored in case comments, as well as in the Language IO custom object. Check this setting to make sure that translations of end user questions or translations of agent responses (before they are sent) are not duplicated as comments in the case. Instead, they are only stored in custom object fields that show in the Language IO activity table. Leave the setting unchecked to keep the default behaviour, where the translation of end user emails and translation of agent responses are stored both in case comments and in the Language IO custom object. |
| Post Comments Are Public |
When checked, end users can see post comments. When unchecked, post comments are private. |
| Auto Save Delay | Milliseconds to wait for the e-mail draft to save prior to translating its content. (This is not supported in Salesforce Classic.) |
| Append Source | When checked, when an agent replies to a end user via e-mail, the original response is sent with the e-mail along with its translation. |
| Disable Retranslate |
When checked, the option to "retranslate" in the Language IO application is disabled. The agent does not see the option to do so. You can use this setting if you want to reduce the number of translation requests to Language IO. |
| E-mail Action Names |
This can be a comma separated list of the email action names (for example, For more information, see Mapping the correct Email Action Name in Custom Settings. |
| Enable Feed Translation |
Case feed is a Salesforce layout that includes case actions such as creating case notes, logging calls, changing the case status, and communicating with end users. When checked, feed posts are funnelled to the Language IO plugin and can be translated. (Only feed entries of type |
| Named Credentials | Named Credentials is the name that Salesforce gives to their authentication system. When you install the Language IO application, you must create a Named Credential in Salesforce with a username and password given by Language IO. These credentials allow you to connect to the Language IO API through the component. Use this setting to define the label for these named credential. |
| Agent Language Preference |
This feature helps decouple the User’s profile language from their preferred translation language. This means that the agents can then choose their own preferred language, independently from their profile. It uses the name of a custom field within the User object to change the translation language for the agent. This change applies to all cases. For a similar setting that works on a case by case basis, see "Case Language Preference" in the next row. |
| Apply Language Preference to All Cases and Case Language Preference |
Similar to "Agent Language Preference", "Case Language Preference" uses the name of a custom field within the Case object to change the translation language for the agent. This feature helps decouple the User’s profile language from their preferred translation language. Unlike Agent Language Preference, this feature allows the agent to select their preferred language from the Case that is being worked on and it applies only to that case. If you want the change to apply to all cases, check "Apply Language Preference to All Cases". For more information, see Allowing agents to select their preferred language. |
| Enable Draft Email Subject Translation | When checked, it allows users to translate the subject of an outbound email. |
| Show Subject | When checked, the subject of the case is shown in the Language IO application. |
| Treat Comments as Foreign | When checked, case comments are treated as being in the end user's language and are translatable by the agent. |
| Locale Field Name | A field on the Case object that stores or sets the customer’s locale for the Case. |
| Custom Status Field | Stores the status of the translation, sent by the Language IO server (for example, "pending"). |
| Human word Count Field Name | The word count of human translations performed in the current case. |
| Machine Word Count Field Name | The word count of machine translations performed in the current case. |
| Status on Pending and Status on Update | These settings allow you to customize the status messages stored in the "Custom Status Field" when the translation is updated or pending (for example, replacing "pending" with "in progress"). |
| Update Status only on Human | When checked, the "Custom Status Field" only updates when human translation is performed. Status messages returned for machine translations are ignored. |
| Enable Activity Translation | When checked, Tasks and Events are shown in the Language IO Case component and agents can translate them. |
| Disable TQE |
The Translation Quality Estimate (TQE) is a Language IO feature that allows organizations to define quality thresholds for Machine Translation. If the quality of a given machine translation falls under the defined quality threshold, the system uses a second machine translation engine to do a retranslation automatically. The retranslation is then also evaluated. The engine returns the translation that has the higher score. This process makes sure that the best possible translation is always delivered, based on your own quality criteria. When checked, TQE alerts are not taken into consideration if they are enabled for the current organization. This setting is checked by default. |
| Translation Types |
The following settings accept a string of "human" or "machine". This determines whether the translation of each source item is done by a human or by one of the translation vendors. You can define a translation type for the following items:
|
| Enforce Word Count Threshold and Word Count Alert Threshold | The High Word Count Alert is a feature that allows you to set a translation word count threshold for outbound e-mails. If the agent writes an outbound email that exceeds this threshold, an alert appears when the agent tries to translate this e-mail, that informs them accordingly. |
| Enable Attachment Translation | When checked, this setting gives the agent the ability to translate attachments that are related to a message (email, post or comment, etc.) in a case. Remember that Language IO must enable the feature for your account. Otherwise, checking the box and trying to use the feature will result in an error. |
Using Regular Expressions to translate emails
You can set up the Regular Expression for Description field work to translate the latest email received in a thread.
Here is an example breaking down the regular expression to translate the latest in a Gmail email thread. This discards the email history and only translates the latest email.
Creating the custom Regular Expression for Description field
- Field Label: Regular Expression for Description
- API Name: LanguageIO__LinguistNowDescriptionTemplate__c
-
Value:
(?s)(.*?)<div[^>]*class=["\']gmail_attr["\']
Breaking down the regular expression
(?s)
- This is a flag (also known as a modifier) that sets dot-all mode.
- In dot-all mode, the period character
.matches any character, including newline characters. - This is required because without this,
.does not match line breaks.
(.*?)
- The
.matches any character, including newline characters, as defined above by(?s). - The
*means "zero or more". - The
?makes it "non-greedy". This means that it captures as little as possible until the next part of the pattern matches. - This part captures everything up to the first occurrence of the
<div class="gmail_attr">tag.
<div[^>]*class=["\']gmail_attr["\']
- This matches the start of a
<div>tag with theclass="gmail_attr"(or'gmail_attr')attribute. -
<divmatches the opening of a<div>tag. -
[^>]*matches any characters that are not a>(this means all attributes inside the tag), as needed. -
class=["']gmail_attr["']matches the class attribute with a value ofgmail_attr, either in double or single quotes.