Traditionaly there has been two approach in creating a Multilanguage DotNetNuke Web Content Management System. Your DNN can have a master portal in your prefered lanague and then you can copy the content and tab strucutre in one child portal per lanague. This has been the prefered approach with most of our clients.
However, there is a second approach. where you have a single portal with some of the content being in two or more languages. This approach is implemented with a set of modules by our partners at apollo-software.nl.
PageLocalization Module
The PageLocalization Module enhances the localization capabilities of DotNetNuke. Now you can translate the names of your pages into any language your portal supports.
All localized values are stored in the database, and easily manageable. The actual rendering of the localized values is taken care of by a set of multi language enabled versions of all core skinobject that have anything to do with rendering of page names. To be specific: BreadCrumb, Links, SolPartMenu, PageTitle and TreeViewMenu. These skin objects are registered during the installation of the PageLocalization Module.
Multilangauge Advanced Announcements
The idea behind the module is a simple one. If the datastructure of a lot of core modules is almost exactly the same, then why not make not just one module that can do everything the core modules can do as well... and more? The advantage is clear... no longer you have to learn to use 4 or 5 different modules, you can do it all in one module. Thats where MLAdvAnnouncements comes in.
The magic of the module sits primarly in the Module Settings. In the module settings you can select how the module should behave when rendering items. The edit page of the module is the same for every display type, but content entered will be rendered differently or not at all depending on the selected display type.
Features of Advanced Announcement:
- Different display modes, which allows the module to act as Annoucement, Links, FAQ, Image, or ImageLinks module
- Enhanced URL control, with image preview upon file selection
- Publish date for easy future publishing of items
- Expired and future items can easily be viewed by module editors
- Archived items can be made visible to all visitors
- More sorting options, which include publish date, expire date, alfabetical on item title, number of clicks (to allow a "most favorite" list), and manual sort order (the legacy "view order")
- FAQ view uses clientside collapsing and expanding of items, and includes an "Expand All" and "Collapse All" option
- You can add automatic numbering to items
- Add (or remove) publish dates to all titles with one click
- Optional automatic thumbnail generation
- Full support for IExportable, needed for importing and exporting modules and for use in portal templates
- Full support for ISearchable, needed for the DotNetNuke search function and module RSS feed.
- And of course... fully multi lingual. The multi lingual capabilities have been implemented in a quiet way: if your portal has only one installed language (ie. en-US), you will not see any of the multilingual options of the module.
Multilanguage Language Selector
With the Language Selector skin object anex module we can add 3 different ways of language selection to your site. Apart from a drop down menu, you can also add image links (flags) or text links. The image and text links generate basic hyperlinks which are easy to follow by internet search bots, this ensures that all languages on your site are spidered. You can add the language selector to your skin, so it will be displayed on all pages, or you can add it as a module to just one or a few pages. The module version has a settingspage that lets control it's appearance. To this end the skin object version supports a number of parameters.
The language selector comes with 110 of pre-installed flags (for every country supported by DotNetNuke). These flags are courtesy of the CIA Factbook. You can find out for yourself how the language selector works via our demo site: demo site. Online help is available here.
MultiLanguage Survey
MLSurvey is a multilingual version of the core Survey module. The first version does not contain many new features, however, there is support for ISearchable (DNN search and DNN RSS feeds), and IPortable (import/export). And of course you can edit content for different languages!
MultiLanguage HTML and Rich Text Module
This module allows one to enter the text/images/HTML for a piece of content to your page in your prefered langauge as well as other languages you want to cover in your portal. The end user's prefered language is recognized and therefore appropriate content is shown to the end user visiting your site.
Features of ML HTML & Rich Text Module
- Text can be entered in all locales that are available to the portal
- Localization of module title
- When the module is viewed, only the text entered for the current page locale is visible
- If for the current page locale no text is available then text available in the default portal locale is shown
- If no text for the default portal locale is available, then any available text is shown
- Search is implemented
- Import and export is implemented
What's New with ML HTML Module?
Due to the fact that the MLAnnouncements module required a new method for the localization of the module title, the MLHTML module is upgraded accordingly to work the same way. That means in that the new version of MLHTML the localization of the module title is no longer on the edit page of the module but on the settings page. Apart from this the search implementation had a little bug that caused the search process to generate exceptions. The problem is solved now, but if you already have a previous version of the MLHTML module in your portal, then it would be best to regenerate the search index. You can do that in the Search Admin page.
Basic Multilangauge Annoucement
With the multilanguage announcement module (MLAnnouncements) you can enter announcements in every language that is available to the portal. Special features are:
- Localization of title, announcement and url, so you can link to a different url for each language
- Dnn search is implemented.
- Dnn import and export is implemented
- Localization of the module title is accesible via the settings page of the module
Google Analytics for ML Portal
In order to allow for injection of the google analytics script into your page, we created the freely available skinobject GGLAnalytics. The skinobject has one public property, fUacct, which you can use to pass your google analytics account number. The skinobject will render the following scriptblock inside your page header:
<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
</script>
<script type="text/javascript">
_uacct = "UA-xxxxxx-x";
urchinTracker();
</script>