ServiceNow Localization and Language Translation
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
4 hours ago
ServiceNow Localization and Language Translation
This article explains how translations work in ServiceNow, the plugins required, key translation tables, debugging techniques, and implementation approach.
Plugins Required for Translations
To enable translations in ServiceNow, the following plugins must be installed:
- I18N: Internationalization (com.glide.i18n)
This is the core plugin that enables multilingual support in ServiceNow. It provides the framework required to translate UI labels, messages, and field values.
- Specific Language Plugins
Depending on business requirements, specific language plugins can be installed (for example, I18N: Spanish Translations, I18N: French Translations, etc.).
These plugins load predefined translations for the selected language.
Main Tables Used for Translations
ServiceNow stores translation data across multiple system tables. Understanding these tables is crucial for configuration and troubleshooting.
Languages (sys_language)
This table defines all the languages available in the instance.
When a user selects a language in their profile, ServiceNow uses this table to determine which translations to apply.
Translated Name / Field (sys_translated)
The Translated Name / Fields [sys_translated] table stores translated values for text fields where the field type is translated_field (see the dictionary entry).
Messages (sys_ui_message)
Contains translations for system messages such as error messages, info messages, warnings, and confirmation dialogs.
Field Label (sys_documentation)
Stores translated labels for tables and fields, including singular and plural values.
This controls how field labels appear in different languages across the UI.
Choice (sys_choice)
Stores translated values for choice list (dropdown) fields.
Translated Text (sys_translated_text)
Used for translating longer text or HTML-based fields, such as descriptions or rich text content.
Translation Debugging
When translations do not appear as expected, ServiceNow provides built-in debugging options.
Enable I18N Debugging (Current Session)
Navigate to:
All → System Localization → Enable I18N Debugging
This displays translation prefixes on UI labels, helping identify the source table and record.
Enable for All Sessions
Navigate to:
All → System Properties → System Localization
Set Display translation prefix on translatable strings to Yes.
When enabled, translation prefixes appear before translatable UI strings.
This is useful for developers and administrators during troubleshooting.
Translation prefixes map to translation tables as follows.
When you are done debugging, disable the translation prefixes.
- To disable prefixes for the current user session, either log out of the session or navigate to All > System Localization > Disable I18N Debugging.
- To disable prefixes for all sessions, navigate to All > System Properties > System Localization and set Display translation prefix on translatable strings to No.
Translation Implementation in ServiceNow
- Field Label Translation (sys_documentation)
This table is used to translate field labels and table names.
Step-by-Step Implementation
- Navigate to System Localization → Field Labels
- Click New (or open an existing record).
- Fill in the required fields and Save the record.
- Table → Select the table where the field exists
(e.g., Sales Promotion Claim Case Line). - Element → Enter the field name
(e.g., work_notes). - Language → Select the target language
(e.g., it for Italian). - Label → Enter the translated field label
(e.g., Note di lavorazione). - Plural → Enter the plural form if required
(e.g., Note di lavorazioni).
When a user’s profile language is set to Italian, the field label automatically appears in Italian across the UI.
- Choice List Translation (sys_choice)
This table is used to translate choice list (dropdown) values.
Step-by-Step Implementation
- Navigate to System Localization → Choices
- This opens the sys_choice table.
- Click New (or open an existing choice record).
- Fill in the required fields and save the record.
- Table → Select the table
(e.g., sc_request). - Element → Enter the choice field name
(e.g., request_state). - Language → Select the target language
(e.g., it). - Label → Enter the translated label
(e.g., Chiuso, già presente). - Value → Must match the backend value exactly
(e.g., closed_skipped).
When the user switches to Italian, the dropdown displays the translated label while the system logic continues to use the same value.
- Message Translation (sys_ui_message)
The Message [sys_ui_message] table contains the translations for informational messages, confirmation messages, error messages, and other types of system messages across the platform.
Step-by-Step Implementation
- Navigate to System Localization → Messages
- This opens the sys_ui_message table.
- Click New (or open an existing message).
- Fill in the required fields and save the record.
- Key → Enter the original message text exactly as used in the script
(e.g., Please fill in the required details for selected promotion). - Language → Select the target language
(e.g., Italiano). - Message → Enter the translated message
(e.g., Compila i dettagli necessari per la campagna selezionata).
4.Translated Name / Field (sys_translated)
The Translated Name / Fields [sys_translated] table stores translated values for text fields where the field type is translated_field (see the dictionary entry).
Step-by-Step Implementation
- Navigate to System Localization → Translated Name / Field
- Click New (or open an existing translated field record).
- Fill in the required fields and save the record.
- Label (translate) → Enter the translated value
(e.g., Documenti necessari). - Language → Select the target language
(e.g., it). - Table → Select the table containing the field
(e.g., question). - Element → Enter the field name
(e.g., question_text). - Value → Enter the original field value
(e.g., Supporting document).
Translated Text (sys_translated_text)
The Translated Text table is used to translate long text, rich text, and record-specific content, commonly used in Service Portal and custom UI components.
Step-by-Step Implementation
- Navigate to System Localization → Translated Text
- Click New (or open an existing translated text record).
- Fill in the required fields and save the record.
- Language → Select the target language
(e.g., Italiano). - Field Name → Select the field that needs translation
(e.g., Short description). - Value → Enter the translated text
(e.g., Pratiche inviate). - Document → Select the specific record this translation applies to
(e.g., Browse my claims instance link). - Table Name → Select the table containing the field
(e.g., sp_instance_link).
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
an hour ago
Hi @JAGRUTHIK
Could you please add the prefix “Blog” so that readers can easily identify it as a question or article?
If my response proves useful, please indicate its helpfulness by selecting " Accept as Solution" and " Helpful." This action benefits both the community and me.
Regards
Dr. Atul G. - Learn N Grow Together
ServiceNow Techno - Functional Trainer
LinkedIn: https://www.linkedin.com/in/dratulgrover
YouTube: https://www.youtube.com/@LearnNGrowTogetherwithAtulG
Topmate: https://topmate.io/dratulgrover [ Connect for 1-1 Session]
****************************************************************************************************************