When tasked with the requirement to translate knowledge articles into other languages this can be intimidating especially for those of us that are still working on mastering our first language. Thankfully there is significant help in a new offering in the Tokyo release.
What I want to shine a light on is the expanded capabilities of the Localization Framework. Specifically support for Knowledge translation, this is not simply translation management as some of you have seen in the past but a new feature in Tokyo.
The main goal is to provide a fast and efficient way to translate multiple knowledge articles to another supported language.
Once complete we should be able to select the targeted knowledge articles, select Request Translations, select language(s), and then submit. For fulfillment, we are going to look at machine translation using Azure.
For those with a large collection, the maximum number of articles to translate per batch is 200. For large knowledge bases, I recommend coming up with a strategy around these batches either by category or some other subset to ensure this does not get overwhelming for translation validation later in the process.
Setup
Step 1: Make sure you are not in your PROD instance, and while you are at it make sure your sub-prod instances have different themes (colors) so you and others can easily differentiate.
Step 2: Review dependencies
Knowledge Management Advanced Plugin (com.snc.knowledge_advanced)
-
- Consider installing the installer plugin (com.snc.knowledge_advanced.installer) as additional checks and validations are built in for existing articles.
Step 3: Activate Plugins
-
- Required language plugin(s) (com.snc.i18n.****)
- Dynamic Translation com.glide.dynamic_translation
- Localization Framework com.glide.localization_framework.installer
- While you wait for that plugin to activate why not check out the localization framework in docs (https://docs.servicenow.com/bundle/tokyo-platform-administration/page/administer/localization-framework/concept/localization-framework.html)
- It is worth noting that the localization framework supports many artifact-specific plugins meaning that there are few other toys in the toy box after this article is complete.
Step 4: Properties
-
- Ensure the property glide.knowman.translation.enable_lf_article_translation is set to true
- Ensure the property glide.knowman.translation.enable_translation_task is set to false
Step 5: Setup Translation Service
We are going to require a translation service, thankfully there are 3 partially set up upon activation (ServiceNow, Microsoft, and IBM). For the ServiceNow translation service there is no subflow available and no documentation so not sure what that is all about. In this example, I decided to work with MS Azure as I already have an account.
-
- Setup Azure Cognitive Services Translator – I am a novice within Azure however I had this setup in a few minutes.
- https://learn.microsoft.com/en-us/azure/cognitive-services/translator/quickstart-translator?tabs=csharp
- Under Keys and Endpoint record Key 1 as well as Text Translation
- Back in ServiceNow land let’s setup the connection
- Create credential as documented here https://docs.servicenow.com/bundle/tokyo-platform-administration/page/administer/dynamic-translation/task/create-credential-ms-translation.html
- Leave the MID server blank
- Create a connection as documented here https://docs.servicenow.com/bundle/tokyo-platform-administration/page/administer/dynamic-translation/task/create-connection-ms-translation.html
- Use the credential created in the previous step
- Below is an overlay of Azure Keys and Endpoints and the ServiceNow connection record
- Create credential as documented here https://docs.servicenow.com/bundle/tokyo-platform-administration/page/administer/dynamic-translation/task/create-credential-ms-translation.html
- Now let’s setup the translation configuration
- Navigate to Dynamic Translation > Translator Configurations
- Open your selected translation configuration (in this example “Microsoft”) and set active=true. If you want to be like me you can set “Mark as default for translation” and “Mark as default for detection” both as active=true.
- Setup Azure Cognitive Services Translator – I am a novice within Azure however I had this setup in a few minutes.
Step 6: Setup localization settings
-
- Setup localization fulfiller and manager groups
- Navigate to System Security > Users and Groups > Groups
- Create or identify a group to be assigned localization tasks
- Add the role localization_fulfiller to the identified group
- Add members to the group, these are your translation validators and each target language should have a group.
- Create or identify a group to be assigned to the localization project
- Add the role localization_manager to the identified group
- Add members to the group
- Navigate to Localization Framework > Settings
- Click New to create a new Settings record
- Setup as shown below using required languages, TMS settings, and email settings
- Setup localization fulfiller and manager groups
-
- A localization framework setting should be created for each target language as this is how the tasks are fulfilled.
Translation process
-
- Navigate to Knowledge > Article > All
- Select a few articles with checkboxes on the left side of the record
- Click the “Request Translations” UI action/button in the top right
- Select the target translation(s) and click submit
- Navigate to Localization Framework > My Projects
- Click “All” to clear the filter and view all projects
- Open the most recent project (highest number)
- Notice the related lists for Localization Requested Items and Localization Tasks.
- Open the Localization Task, which should look like this…
- Click the Translate button in the top right, and review the translations. Notice the status of the translations.
- From here we can expand and update the translation or click Publish Translations which will create the Knowledge articles.
- This page/interface is controlled by the Localization Framework settings configured above. Try changing those settings to see what is added or removed. For example, there is no approval as we selected the Auto Translation –> Publish for the Workflow.
-
- After reviewing all, click Publish Translations in the top right.
- Navigate to Knowledge > Article > All
- Find the most recent article which should be the newly created translated article.
Want more good news? You have the built-in artifacts which is great but you can also extend the framework, see the link below for more: https://www.servicenow.com/community/international-localization/extending-the-localization-framework-to-portal-announcements/ta-p/2326792
Leave A Comment