Heretto Deploy Portal Internationalization
Internationalization
Heretto Deploy Portal is fully internationalized, meaning the portal and its content can be presented in any language/locale combination. To have a portal that supports more than one locale, you need to localize the content in Heretto CCMS and make a few configuration changes.
The portal supports these capabilities:
Localization of the portal's interface, by substituting locale-specific text
Presentation of localized content
The selection of a locale by a portal visitor so that the portal responds to that locale
Detection of a user's locale based on the user's preferred language set in the browser
Localize the portal source content
Heretto Deploy Portal can display locales for any content that's been localized in Heretto CCMS.
Heretto CCMS supports easy localization of content.
Localize Heretto Deploy Portal text strings
The portal interface needs to be localized for each language you want to support.
By default, the portal UI text strings are in English (en). You can customize and localize the text strings.
Add locales to a deployment for an internationalized portal
With your content and portal localized, the last step is to create a deployment that supports the configured locales. You can do this by editing the existing deployment associated with your portal.
Set up a deployment to include locales by updating the existing deployment associated with your portal.
Internationalized Strings Configuration Reference
If needed, you can easily modify the default internationalization and localization strings used by your Heretto Deploy Portal. You can use this file to change the text that shows up in your portal, such as the term "Articles".
Default Localization Strings
You can overwrite the default settings by editing the config.json
file.
"i18n": {
"en": {
"label.tenant": "Your_Organization",
"label.section": "Section",
"label.home": "Home",
"label.sections": "Sections",
"label.section-contents": "${label.section} ${label.contents}",
"label.contents": "Contents",
"label.filters": "Filters",
"label.related": "Related",
"label.resources": "Resources",
"label.articles": "Articles",
"label.featured": "Featured",
"label.filter": "Filter",
"label.filter.apply": "Apply ${label.filter}s",
"label.filter.clear": "Clear ${label.filter}",
"label.filter.results": "${label.filter} Results",
"label.result": "result",
"label.show-contents": "Show ${label.contents}",
"label.show-sections": "Show Page Sections",
"label.print": "Print page",
"label.print-sub": "${label.print} and subpages",
"label.last-updated": "Last updated: ${date}",
"label.related-resources": "${label.related} ${label.resources}",
"label.related-articles": "${label.related} ${label.articles}:",
"label.search.facet.Information_Type": "Information Type",
"label.search.facet.Area": "Area",
"label.search.facet.Mobile": "Mobile",
"label.featured-articles": "${label.featured} ${label.articles}",
"label.featured-videos": "${label.featured} Videos",
"label.whats-new": "What's New",
"label.version.prefix": "v ",
"label.version.format": "${title}",
"message.search.placeholder": "Search ${label.section} Help",
"message.search.results": "Search Results",
"message.missing-content": "[MISSING CONTENT]",
"plural.0": "zero",
"plural.1": "one",
"plural.#": "any",
"http.error.404": "not-found",
"http.error.#": "other",
"message.search.results-found": "${message.search.results-found.${@plural}}",
"message.search.results-found.zero": "No results found",
"message.search.results-found.one": "One result found",
"message.search.results-found.any": "${startIndex} - ${endIndex} of ${@count} results found",
"message.explore": "Explore Topics",
"message.hero.title": "Welcome to ${label.tenant}'s Help Portal",
"message.hero.sub-title": "Welcome to ${label.tenant}'s Help Portal",
"message.error.known-issues-link": "View known issues ",
"message.error.known-issues": "with the EZD Content Portal",
"message.error.status": "${message.error.status.${@http.error}}",
"message.error.next-steps": "${message.error.next-steps.${@http.error}}",
"message.error.status.not-found": "Sorry, we couldn't find that page.",
"message.error.status.other": "Sorry! Something seems to have broken on our end. An alert has been sent to the system admin.",
"message.error.next-steps.not-found": "You can select a topic to open the Help or use the search field.",
"message.error.next-steps.other": "You can select a topic to open the Help or use the search field.",
"message.search.result-found": "Search Results",
"message.browser.not-supported": "You seem to be using an unsupported browser.",
"message.browser.please-use": "To visit, please use one of the following browsers:",
"message.browser.links": "Use the links to download the latest version of a supported browser if you don't already have one installed.",
"message.browser.chrome": "Chrome",
"message.browser.firefox": "Firefox",
"message.browser.edge": "Edge",
"message.browser.safari": "Safari",
"message.footer.copyright": "Copyright: © 2021 Intellectual Property. All rights reserved.",
"message.chunked.title": "${content.title}",
"message.user.welcome": "${given_name}",
"message.user.login": "Login",
"message.user.logout": "Logout",
"message.login": "Please sign in.",
"message.logout.success": "You have been successfully logged out!",
"message.logout.login-again": "Sign in again",
"message.logout.sso-logout": "Sign out of SSO",
"message.logout.redirect": "This page will redirect in ${delay} seconds...",
"message.select.version": "${selectedVersion}",
"message.notification-banner.link-text": "Send us your feedback",
"message.notification-banner.text": " on the new site. We appreciate it."
}
}
Keywords
For advanced localized strings configuration, you can use the following keywords.
${page}
Using
${page}
enables you to designate different text for a given key based on the page."message.hero.title": "${message.${page}.hero.title}", "message.index-root.hero.title": "Welcome to the home page", "message.section-index.hero.title": "Here's a section's landing page", "message.content-index.hero.title": "This is the content page", "message.search-index.hero.title": "Here are your search results", "message.error-index.hero.title": "Looks like there's an error",
${@plural}
and${@count}
Using
${@plural}
and${@count}
enables you to handle plural text options for a given sum."plural.0": "zero", "plural.1": "one", "plural.#": "any", "message.search.results-found": "${message.search.results-found.${@plural}}", "message.search.results-found.zero": "No results found", "message.search.results-found.one": "One result found", "message.search.results-found.any": "${@count} results found",