Translation and Language Management in Hosted pages
Overview and Background
You encounter Translations and Languages in different aspects, which can be the Email and SMS sent out to the users, it can be the Login and Registration Pages (Hosted Pages) but also when it comes to consents or fields.
Learn more about our Hosted Pages Management
cidaas has customers connect spread all over the world. Users from diverse geographical locations around the globe, each part with unique language preferences. Users express their desire to customize their hosted pages in their supported local language and personalize their user experience. Understanding the importance of accommodating these variations, we have developed a feature that empowers customers to personalize their hosted pages according to their preferred language.
This feature ensures that the user experience remains consistent and accessible to individuals regardless of their linguistic background.

Motivation
The cidaas custom hosted page has ability to:
- add or manage supported locales
- add or manage custom translations to override existing bundled translations that come with default hosted pages.
- add new custom translations other than the bundled translations.
- verify the syntax of the custom translations file JSON uploaded.
- verify the integration of custom translations with default hosted pages.
Integrate Translation and Language Hosted pages to the app
Terminology
Before you dive into the usage of custom hosted page translations, let's get to know the terminology.
| Translation | Explanation |
|---|---|
| Bundled | Bundled translations are sets of translations that come pre-bundled with cidaas default hosted pages. Currently, the supported bundles are for two languages: English (en) and German (de). In the case of bundles, customers can override partially the texts they want to change. |
| Custom | Custom translations are when the customer wants supported translations apart from pre-bundled languages. For example, in Italian or French. In this case, the customers are expected to provide translations for all the keys. |
Note: Currently we support bundles for English (en) and German (de).
Integration
-
Log in to your admin dashboard.
-
Navigate to Hosted-page > Translation tab > Create translation.

-
Select your preferred language and start editing the JSON.

Watch Out!
Placeholder should not be edited!
-
Click on Save, and the Preview button will be activated.
-
Click on the Preview, map your app, select the response type, copy the link, and open it in the browser.

-
Your translated hosted pages are ready to be used.
Placeholder nomenclature
In this section, you will find all the placeholder names of the hosted pages, and you can refer to these and change the placeholders for the hosted pages.
For example, as displayed below, we have changed the placeholder name of "GUEST_LOGIN" to French, and in the preview, we can see the login hosted page placeholder GUEST_LOGIN has changed.

Translation and Language Hosted pages keys (Login)
| Label Key | Page Reference |
|---|---|
| LOGIN.WELCOME_HEADER | login |
| LOGIN.WELCOME_LABEL | login |
| LOGIN.CLASSICAL_LOGIN.ALLOW_LOGIN_WITH.EMAIL | login |
| LOGIN.CLASSICAL_LOGIN.ALLOW_LOGIN_WITH.MOBILE | login |
| LOGIN.CLASSICAL_LOGIN.ALLOW_LOGIN_WITH.USER_NAME | login |
| LOGIN.CLASSICAL_LOGIN.BUTTON.TEXT | login |
| GUEST_LOGIN | login |
| HR_LINE_LABEL | login |
| FORM.VALIDATION.EMAIL | login |
| REQUIRED_FIELD_DYNAMIC | login |
| WELCOME_BACK_TITLE | login |
| NO_AUTHENTICATION_METHODS_FOUND | login |
| ERROR_OCCURRED | login |
| BACK | login |
| ENTER_VALID_EMAIL | login |
| ENTER_VALID_MOBILE | login |
| NO_USER_FOUND | login |
| PASSWORD_CHANGED | login |
| MFA_REQUIRED.VERIFY_PASSWORD | login |
| LOGIN.FORGOT_PASSWORD | login |
| LOGIN.AUTHENTICATION.HOW_DO_YOU_WANT_TO_AUTHENTICATE | login |
| LOGIN.AUTHENTICATION.EMAIL.ICON_TEXT | login |
| LOGIN.AUTHENTICATION.PASSWORD.ICON_TEXT | login |
| LOGIN.AUTHENTICATION.IVR.ICON_TEXT | login |
| LOGIN.AUTHENTICATION.PATTERN.ICON_TEXT | login |
| LOGIN.AUTHENTICATION.SMS.ICON_TEXT | login |
| LOGIN.AUTHENTICATION.TOUCHID.ICON_TEXT | login |
| LOGIN.AUTHENTICATION.TOTP.ICON_TEXT | login |
| LOGIN.AUTHENTICATION.BACKUPCODE.ICON_TEXT | login |
| LOGIN.AUTHENTICATION.PUSH.ICON_TEXT | login |
| LOGIN.AUTHENTICATION.FACE.ICON_TEXT | login |
| LOGIN.AUTHENTICATION.FIDO2.ICON_TEXT | login |
| LOGIN.AUTHENTICATION.EMAIL.ICON_TOOL_TIP | login |
| LOGIN.AUTHENTICATION.PASSWORD.ICON_TOOL_TIP | login |
| LOGIN.AUTHENTICATION.IVR.ICON_TOOL_TIP | login |
| LOGIN.AUTHENTICATION.PATTERN.ICON_TOOL_TIP | login |
| LOGIN.SELECT_PROVIDERS.BLOCKED.TITLE | login |
| LOGIN.SELECT_PROVIDERS.BLOCKED.MSG | login |
| IP_BLOCKED | login |
| REQUIRED_FIELD | login |
| MFA_REQUIRED.VERIFY_EMAIL | login |
| LOGIN.AUTHENTICATION.EMAIL.BUTTON.TEXT | login |
| ERROR_CODES.VERIFICATION_SRV.AUTHENTICATE.3063 | login |
| ERROR_CODES.VERIFICATION_SRV.AUTHENTICATE.3059 | login |
| LOGIN.AUTHENTICATION.EMAIL.INPUT.LABEL | login |
| LOGIN.AUTHENTICATION.EMAIL.INPUT.HINT | login |
| LOGIN.AUTHENTICATION.EMAIL.INPUT.PLACEHOLDER | login |
| LOGIN.AUTHENTICATION.IVR.INPUT.LABEL | login |
| LOGIN.AUTHENTICATION.IVR.INPUT.HINT | login |
| MFA_REQUIRED.VERIFY_IVR | login |
Translation and Language in the Hosted pages UI reference
Here are the placeholders marked for you to check where exactly your editing.
| Login | . | |
|---|---|---|
![]() | ![]() | ![]() |
![]() | ![]() | ![]() |
![]() | ![]() | ![]() |
![]() | ![]() | ![]() |
![]() | ![]() | ![]() |
![]() | ![]() | ![]() |
![]() | ![]() | ![]() |
![]() |
Translation and Language Hosted pages keys (MFA)
| Label Key | Page reference |
|---|---|
| MFA_REQUIRED.MFA_HEADER | mfa_required |
| MFA_REQUIRED.CONFIRM_IDENTITY | mfa_required |
| MFA_REQUIRED.TOUCHID | mfa_required |
| MFA_REQUIRED.TOUCHID_DESC | mfa_required |
| MFA_REQUIRED.EMAIL | mfa_required |
| MFA_REQUIRED.EMAIL_DESC | mfa_required |
| MFA_REQUIRED.IVR | mfa_required |
| MFA_REQUIRED.IVR_DESC | mfa_required |
| MFA_REQUIRED.SMS | mfa_required |
| MFA_REQUIRED.SMS_DESC | mfa_required |
| MFA_REQUIRED.NO_MFA_CONFIGURED | mfa_required |
| MFA_REQUIRED.NEED_TO_CONFIGURE_MFA | mfa_required |
| MFA_REQUIRED.BACKUPCODE | mfa_required |
| MFA_REQUIRED.BACKUPCODE_DESC | mfa_required |
| MFA_REQUIRED.FACE | mfa_required |
| MFA_REQUIRED.FACE_DESC | mfa_required |
| MFA_REQUIRED.PASSWORD | mfa_required |
| MFA_REQUIRED.PASSWORD_DESC | mfa_required |
| MFA_REQUIRED.PATTERN | mfa_required |
| MFA_REQUIRED.PATTERN_DESC | mfa_required |
| MFA_REQUIRED.PUSH | mfa_required |
| MFA_REQUIRED.PUSH_DESC | mfa_required |
| MFA_REQUIRED.TOTP | mfa_required |
| MFA_REQUIRED.TOTP_DESC | mfa_required |
| MFA_REQUIRED.FIDO2 | mfa_required |
| MFA_REQUIRED.FIDO2_DESC | mfa_required |
| MFA_REQUIRED.VOICE | mfa_required |
| MFA_REQUIRED.VOICE_DESC | mfa_required |
| BACK | mfa_required |
| CANCEL | mfa_required |
| MFA_REQUIRED.VERIFY_TOUCHID | mfa_required |
| ENTER_VERIFICATION_CODE | mfa_required |
| INVALID_CODE | mfa_required |
| MFA_REQUIRED.VERIFY_IVR | mfa_required |
| MFA_REQUIRED.VERIFY_PATTERN | mfa_required |
| ERROR_OCCURRED | mfa_required |
| FOOTER.IMPRINT_LINK_LABEL | mfa_required |
| FOOTER.TOS_LINK_LABEL | mfa_required |
| FOOTER.POLICY_LINK_LABEL | mfa_required |
| MFA_REQUIRED.VERIFY_TOTP | mfa_required |
| MFA_REQUIRED.VERIFY_PUSH | mfa_required |
| MFA_REQUIRED.VERIFY_BACKUPCODE | mfa_required |
| MFA_REQUIRED.VERIFY_FACE | mfa_required |
| MFA_REQUIRED.VERIFY_PASSWORD | mfa_required |
| AUTHENTICATED_REQUEST_DENIED | mfa_required |
| INVALID_USERNAME_PASSWORD | mfa_required |
| NO_USER_FOUND | mfa_required |
Translation and Language in the Hosted pages UI reference
Here are the placeholders marked for you to check where excalty your editing.
| MFA | MFA | |
|---|---|---|
![]() | ![]() | ![]() |
![]() | ![]() | ![]() |
![]() | ![]() | ![]() |
![]() | ![]() | ![]() |
![]() | ![]() | ![]() |
![]() | ![]() |
Translation and Language Hosted pages keys (Additional info)
| Label Key | Page reference |
|---|---|
| REGISTER.WELCOME_HEADER | additional_info |
| REGISTER.WELCOME_LABEL | additional_info |
| SUBMIT | additional_info |
| BACK | additional_info |
| ERROR.USER_WITH_THIS_DETAILS_ALREADY_EXISTS | additional_info |
| ERROR_OCCURRED | additional_info |
| ERROR.MSG | additional_info |
Translation and Language in the Hosted pages UI reference
Here are the placeholders marked for you to check where excalty your editing.
| Additional information | Additional information | |
|---|---|---|
![]() | ![]() | ![]() |
![]() |
Translation and Language Hosted pages keys (Additional Register)
| Label key | Value |
|---|---|
| REGISTER.WELCOME_HEADER | register |
| REGISTER.WELCOME_LABEL | register |
| WARNING.WARNING | register |
| WARNING.WARNING_MESSAGE_FOR_BROKEN_REGISTRATION_FORM | register |
| REGISTER.AUTHENTICATION.TEXT | register |
| MFA_REQUIRED.PASSWORD | register |
| MFA_REQUIRED.EMAIL | register |
| MFA_REQUIRED.SMS | register |
| MFA_REQUIRED.IVR | register |
| REGISTER.REGISTER | register |
| REGISTER.AUTHENTICATION.INFO_TEXT | register |
| BACK | register |
Translation and Language in the Hosted pages UI reference
Here are the placeholders marked for you to check where excalty your editing.
| Register | Register | |
|---|---|---|
![]() | ![]() | ![]() |
Translation and Language Hosted pages keys (Consent)
| Label | Value |
|---|---|
| CONSENT_PREVIEW.ASK_FOR_CONSENT | consent |
| CONSENT_PREVIEW.ACCEPT | consent |
| CANCEL | consent |
| ERROR_OCCURRED | consent |
Translation and Language in the Hosted pages UI reference
Here are the placeholders marked for you to check where excalty your editing.
| Consent | |
|---|---|
![]() | ![]() |
Need help implementing this?
Please contact us on our Developer Support Page.















































