How to select or change language from CMS site
Translation as it relates to the CMS is documented within product documentation. According to product documentation, when a user logs in, the language for the instance session is determined by the following logic:
- If the language selection at login is enabled, that language is used.
- If not, the language preference selected using the language picker in the header bar is used.
- If not, the user's language setting in the User [sys_user] table is used.
- If none of the above are true, the system default language is used.
An end user can be granted the ability to populate the Language field in their profile [sys_user] record within CMS. This can be done by configuring the self-service view of the User [sys_user] form and adding the Language field; however, this does not change the language displayed in CMS for that user.
Based on the above, here are the two supported methods for allowing users to select or change their language in ServiceNow:
From the login screen, select the language and log in:
Or click the gear icon in the top-right:
Without the options above, users who get redirected to the CMS site or bypass the login page may have issues selecting or changing the language within the CMS.
These UI macros are created when the language plugin [I18N: Internationalization] is activated:
- login_language_select - displays a list of available languages on the login page to the user
- ui_language_select - displays a list of available languages to the user and lets them select one
There is no base system language picker for use with a CMS site; however, customers may choose to customize their CMS code to call the ui_language_select UI macro to meet their needs.
There is no documented method for accomplishing this from the base system. In this case, customers are advised to pursue solutions through the Community. The following post (https://community.servicenow.com/thread/166553) is provided as one such example:
To enable the language picker within a CMS site:
- Modify the UI macro cms_header_login to call the ui_language_select UI macro by adding the script above the login link:
This macro displays the header on the ESS Portal:
- Select a different language to display the language selected in the CMS:
|Warning: Altering the base system cms_header_login UI macro causes it to be "customized" and potentially skipped by future ServiceNow upgrades. See Overwriting_Customizations_During_Upgrades for more information.|
|Note: Solutions implementation from the Community are outside the scope of Technical Support, which is a break/fix issues in the base platform. Customers may implement at their own risk but are responsible for maintaining the solutions.|