Translating custom content

  • Release version: Yokohama
  • Updated January 30, 2025
  • 2 minutes to read
  • Summarize
    Summarized using AI
    This content was generated using new OpenAI-powered functionality. Results are provided on an as is basis and are not guaranteed to be accurate or complete.

    Summary of Translating custom content

    This guide explains how ServiceNow customers can translate custom content they create or modify into supported or unsupported languages. While ServiceNow provides base system UI string translations through internationalization (I18N) language plugins, translations for custom applications, AI Platform content, and unsupported languages must be provided by customers. The ServiceNow AI Platform does not offer automatic translation, so manual translation is necessary, especially after content updates or edits.

    Show full answer Show less

    Translation Methods and Practical Applications

    • Field Labels in Custom Tables: Create English versions, export records from the Field Labels translation table, translate the fields, set the language, and reimport via import sets. Alternatively, translate individual labels directly.
    • HTML in UI Pages: Wrap translatable text using gs.getMessage calls, create corresponding Message [sysuimessage] records for each language.
    • Service Catalog Items: Enable translation prefixes in system properties, create items in English, switch preferred language, translate prefixed strings, and save. This method identifies translatable text fields common in Service Catalog items.
    • Service Portal Widgets: Externalize translatable text with ${} wrappers, create Message records for English and other languages, and translate client script messages accordingly.
    • Playbooks: Activate playbooks and create translations for translatable texts in process definitions [syspdprocessdefinition].
    • Editing Plugin-Provided Translations: Export translation records to modify translations outside the platform and reimport them. Avoid direct edits in the translation table to prevent overwrites during upgrades.
    • Unsupported Languages: Create Choice [syschoice] records for the new language and add translation records via export/import sets.
    • Support Chat Texts: Mostly managed by I18N plugins; customized texts follow the Service Portal widget translation procedures.
    • Notifications and Surveys: Not covered by System Localization. Create separate versions per language and use business rules to deliver the correct language version to end users.

    Key Practices

    • Repeat the translation process whenever content is edited or updated.
    • Use export/import sets to handle bulk translation efficiently.
    • Leverage the Localization Framework application for unsupported languages or large translation volumes.

    Benefits for ServiceNow Customers

    This approach enables customers to fully localize their custom content and applications, ensuring a better user experience for multilingual audiences. By understanding and applying these translation methods, customers can maintain consistency, accuracy, and timely updates across all their custom content in supported and unsupported languages.

    Translate content you create or modify to a supported language or add an unsupported language.

    Note:
    Using the Localization Framework application is recommend for translating to an unsupported language or translating large amounts of custom UI string content in a supported language. For more information, see Localization Framework.

    ServiceNow provides translations of the base system UI strings in supported languages through the internationalization (I18N) language plugins. For applications you create and modifications you make to the ServiceNow AI Platform® content, you must provide your own translations. You can also provide any translations to unsupported languages that ServiceNow does not provide translations for. The ServiceNow AI Platform does not provide any automatic translation capability.

    The translation method depends on the material that you are translating. Repeat the translation process whenever you edit or update content.
    Table 1. Translation methods and use cases
    What needs translation Approach to take Resources
    Field labels in a table for a customer-created application
    1. Create English versions for all fields in the table.
    2. Locate the records for the table in the application.
    3. Open the Field Labels translation table.
    4. Export the records, translate the appropriate fields, set the language field, and reimport through an import set.
    HTML in a UI page in a customer-created application
    1. Create the English version. When creating the HTML in the UI Page form, wrap any translatable text in gs.getMessage calls.
    2. Create a Message [sys_ui_message] record for each English message with a corresponding key/value pair.
    3. Create additional Message records for each message for each other language.
    Translate a client script message
    Service Catalog items
    1. Navigate to All > System Properties > System Localization and set Display translation prefix on translatable strings to Yes.
    2. Create the item in English.
    3. Change the preferred language to a different language.
    4. Translate all the translatable items, now identified by translation prefix.
    5. Save the record.
    Service Portal widget
    1. Create the English version. Externalize any translatable text by surrounding the text with ${} wrappers.
    2. Create a Message [sys_ui_message] record for each English translatable text with a corresponding key/value pair.
    3. Create additional Message records for each piece of translatable text for each other language.
    Playbooks
    1. Activate any playbook that you want to translate.
    2. Create translations for each translatable text in a playbook's process definition [sys_pd_process_definition].
    Add translations for playbooks
    Edit a translation provided in a plugin
    1. Export the records from the translation table.
    2. Edit them outside the translation table and reimport them.
    Do not edit the records directly, because your changes could be overwritten when you upgrade or zBoot your instance.
    Export and edit translation records
    Translate an instance to an unsupported language
    1. Create a Choice [sys_choice] record for that language.
    2. Add other translation records through the Export and import set approach.
    Translating to an unsupported language
    Support Chat texts Support Chat is mostly translated through the I18N language plugins. If you customize any Support Chat texts, follow the procedure for Service Portal widgets. Internationalize a widget in Service Portal documentation
    Notifications and surveys System Localization does not cover platform notifications or surveys. The usual approach is to create a separate version of each survey or notification in each language and use business rules to send the right language version to the right end user. —