When we talk about multi-language support by applications (also known as NLS, globalization, localization, internationalization), we need to distinguish between localization of the application and localization of the content (at least).
DotNetNuke language packs take care of localization of the application. Once installed and enabled, the application (i.e. the menus, dialogs, prompts, labels) are displayed in the selected language (only if a translation is provided by the LP, of course).
To enable multi-language support in DNN, log in and navigate to
- Admin/Languages: Install Language Pack
- Enable Browser Language Detection (if desired)
- In Edit Mode: Manage/Settings/Portal Language Settings:
- Enable Language Parameter in URLs? check
This causes DNN to detect the desired language by parsing the URL string for a locale identifier, such as /en-us/ etc. at the begin of the local URL path. Additionally, the ?language=[locale identifier] query string parameter can be used to set the language. Note that the language in the path overrides the language parameter.
Once LPs are installed and configured, there are two ways to implement multi-language content in DNN:
Content localization is a built-in functionality of DNN6, and can be enabled by navigating to
- Host/Host settings/Other settings/Allow Content Localization: check
- Admin/Languages: Enable Localized Content
Warning: This action is NOT REVERSIBLE, and DNN warns you about that.
Once Content Localization is enabled, the system keeps track of all pages and modules and their translation status. Initially, every page is copied to every installed language. Translations can be edited and published on page and module level. See this DNN video demonstration of the Content Localization feature.
The other method to implement multi-language capabilities is to develop and/or install ML-aware modules, such as the Nuntio Content HTML module.
It allows editing language-related content for all enabled languages in a single module. Content display is controlled by the currently selected language in DNN.