ServiceNow Localization and Language Translation

JAGRUTHIK
Tera Contributor

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:

  1. 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.

  1. 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

JAGRUTHIK_0-1766575756448.png

 

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.

JAGRUTHIK_1-1766575756451.png

 

When enabled, translation prefixes appear before translatable UI strings.

JAGRUTHIK_2-1766575756458.png

 

This is useful for developers and administrators during troubleshooting.

Translation prefixes map to translation tables as follows.

JAGRUTHIK_3-1766575756463.png

 

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

  1. Field Label Translation (sys_documentation)

This table is used to translate field labels and table names.

Step-by-Step Implementation

  1. Navigate to System Localization → Field Labels
  2. Click New (or open an existing record).
  3. 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).

JAGRUTHIK_4-1766575756465.png

 

When a user’s profile language is set to Italian, the field label automatically appears in Italian across the UI.

  1. Choice List Translation (sys_choice)

This table is used to translate choice list (dropdown) values.

Step-by-Step Implementation

  1. Navigate to System Localization → Choices
    • This opens the sys_choice table.
  2. Click New (or open an existing choice record).
  3. 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).

JAGRUTHIK_5-1766575756468.png

 

When the user switches to Italian, the dropdown displays the translated label while the system logic continues to use the same value.

  1. 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

  1. Navigate to System Localization → Messages
    • This opens the sys_ui_message table.
  2. Click New (or open an existing message).
  3. 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).

JAGRUTHIK_6-1766575756471.png

 

 

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

  1. Navigate to System Localization → Translated Name / Field
  2. Click New (or open an existing translated field record).
  3. 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).

JAGRUTHIK_7-1766575756474.png

 

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

  1. Navigate to System Localization → Translated Text
  2. Click New (or open an existing translated text record).
  3. 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).

JAGRUTHIK_8-1766575756477.png

 

 

 

 

 

0 REPLIES 0