Dynamic Translation - Save translated text for future?

Tim Deniston
Mega Sage
Mega Sage

I am looking into the Dynamic Translation capabilities using Microsoft Azure Translation service. One major issue I can see is that the cost of the Azure translation service will quickly get out of hand if the same text is being translated over and over. For example, if 5 different people translate the same email body in one incident and there are 1,000 characters in that email, that would be 5,000 characters translated.

Is there a way to store the translation the first time it's translated so future viewers don't need to have the same text translated? I think this would be very useful for text that is static once it's entered (journal fields, emails). For fields that might change (short description, description, etc.), the text could be stored until it changes and then the next person to need the text in a different language would need to have it translated again, but the new translation would be stored, and so on.

Has anyone solved this problem? 

1 ACCEPTED SOLUTION

Alex Coope - SN
ServiceNow Employee
ServiceNow Employee

@Tim Deniston,

Apologies for not responding to this sooner. So currently indeed any translations for string fields performed via Dynamic Translation is not stored as such (imagine the "Short Description" and "Description" fields as an example and yes the Activity history also for "comments"). There are a few reasons for this, one being data quantity another being translation quality improves over time. Due to the nature of how Machine Translation works (especially with the big MT Cloud providers like Google, MS and IBM) you may find that the returned translation might be ever so slightly different over time due to their trained models (e.g. it could be more accurate in the future).

The logic is to only translate as / when it is needed to for field contents and activity history, which in theory should reduce the amount needed per record.

It's also worth noting, that if a translated email was sent out via the "comments" field, then that would be stored in the Activity History because that's what was sent.

However, with that being said, it is something we've been discussing internally, weighing up how to balance the best possible outcome as there are pros and cons to both perspectives with no size fitting all needs and requirements,
- For example, if a customer only requires to store one other Language, then that perceivably would be ok. The challenge becomes if it's more than 1 and how to show that, for example if a Customer needed to store 20+ (bi-directionally between Opened For and Agent / Fulfiller for 100k's of Incidents / Cases etc (potentially per month or more). Should that then be always or just sometimes? etc

It becomes quite complex quite quickly, because the above scenario could arguably be significantly more expensive if it's default behaviour for any task type record,



Many thanks,
Kind regards

 

--------------------------------------------------------------------
Director of Globalization Deployment, Internationalization

View solution in original post

7 REPLIES 7

Alex Coope - SN
ServiceNow Employee
ServiceNow Employee

@Tim Deniston,

Apologies for not responding to this sooner. So currently indeed any translations for string fields performed via Dynamic Translation is not stored as such (imagine the "Short Description" and "Description" fields as an example and yes the Activity history also for "comments"). There are a few reasons for this, one being data quantity another being translation quality improves over time. Due to the nature of how Machine Translation works (especially with the big MT Cloud providers like Google, MS and IBM) you may find that the returned translation might be ever so slightly different over time due to their trained models (e.g. it could be more accurate in the future).

The logic is to only translate as / when it is needed to for field contents and activity history, which in theory should reduce the amount needed per record.

It's also worth noting, that if a translated email was sent out via the "comments" field, then that would be stored in the Activity History because that's what was sent.

However, with that being said, it is something we've been discussing internally, weighing up how to balance the best possible outcome as there are pros and cons to both perspectives with no size fitting all needs and requirements,
- For example, if a customer only requires to store one other Language, then that perceivably would be ok. The challenge becomes if it's more than 1 and how to show that, for example if a Customer needed to store 20+ (bi-directionally between Opened For and Agent / Fulfiller for 100k's of Incidents / Cases etc (potentially per month or more). Should that then be always or just sometimes? etc

It becomes quite complex quite quickly, because the above scenario could arguably be significantly more expensive if it's default behaviour for any task type record,



Many thanks,
Kind regards

 

--------------------------------------------------------------------
Director of Globalization Deployment, Internationalization

Thanks so much for the reply. Very informative! I came to the same conclusion as I was brainstorming what this would take... It seems easy... "Just save the text." But it becomes exponentially more complex of a problem the deeper you get into it. 

Thanks again!

Thanks! This is helpful information. Is there any change in the behavior so far? or is the translated data still not stored?

@Kavita Kulkarn1, not at this time,

Do you have a specific use-case you are considering? 

--------------------------------------------------------------------
Director of Globalization Deployment, Internationalization