Hosting DNN I have compiled some features offered by various DNN hosting provider in a small PDF file. These informations have been provided by each hosting provider I have contacted by email. See DNN Hosting file below. DNN Multi-lingual portal So, you have decided to develop your own website and you choose DotNetNuke technology. Good ! But now you would like to add other languages, and here come the trouble ! Multi-language DNN portal are very difficult to set because very few modules provide the possibility to "translate" the content (called localisation). Majority of modules do not allow localisation at all. Others just allow the localisation of the title. And last category allow full localisation. So, which one to choose to have the best multi-lingual portal available. Below is a short presentation of what I have chosen for my own website, http://declic-video-fx.com for a fully working french/english website. This is the result of a one year intensive test, discussions in forums, etc... I would like to thank all people who contributes to this summary by helping me in various DNN forum (just mentionning Tom Kraak, John Mitchell, Mitchel Sellers, robax, Scott McCulloch, Sebastian Leupold, Erik van Ballegoij, Mauricio Marquez, Phil Beadle, Steve Fabian, Michael Washington). Maybe that I have not chosen the best solution, that's up to you to decide... Anyway, if you like how my website is organised, you might find interesting to know how to set up yours the same way. These explanations are completely free of obligation toward any module provider (no royalty fees, no pression, ...). SOURCE OF INFORMATION / BASIC MODULES Before going into details, here are some website that you must know and consult regularly. Othwerwise, you are missing a critical source of information: Otherwise, there are plenty of modules on the market, which one to choose ?... For sure, there are some modules that are a MUST-HAVE (without them, and in agreement with everybody, you are missing something and your portal is not using its full capability): BASIC STEP So now, how to set your multi-lingual website ? Here are the guidelines. Failing one of the step below will cause some trouble on your website. The settings below are the result of one year intensive tests. Nevertheless, some parameters might work for you, do it at your own risk. - You need to download the DNN Core language pack for the other language you would like to install. You will find it in the corresponding DNN website for your country (French Dotnetnuke / German Dotnetnuke / Netherlands Dotnetnuke / ...)
- Install the DNN Core language pack: HOST > LANGUAGES > INSTALL LANGUAGE PACK > Browse > Install LanguagePack and you are done (verify that no error occured)
- Now, set the language parameter in the URLs and set the browser Language Detection:
 Take note that Locopon DSLocalisator does not recommend this setting. Anyway, if I do not check "Enable language parameter in URLs, I do not have the language parameter in the URL. I am waiting Locopon advice on a possible solution. - Now, define the default language of your portal: ADMIN > SITE SETTINGS > Advanced Settings > Other Settings and choose the default language.
FULL LOCALISATION OF MODULE - APOLLONow, you have to install the Apollo modules. They will bring fully localisation to your portal (full localisation i.e. content as well as title): - MLHTML: HTML text module
- MLAdvancedAnnouncement: Announcement module, FAQ module, Link module, Images module
- MLSurvey: survey module
- MLLanguageSelector: this will show a flag instead of a text to select language (many more parameters possible, check Apollo website).
Example / Screen capture - Settings for MLAdvAnnouncement module: 
Steps to be followed : - Install first "ModuleLocalisation" (this is the main module - without it, other module won't work)
- Install MLAdvancedAnnouncement
- Install MLHTML
- Install MLSurvey
- These modules can be used as with every other modules. The title is also localisable, so you display a title which is different, depending of the language you are currently viewing. Just drop one module on the page, and you will be able to add text module, announcement, FAQ, Link and images. Just add text or other content as you usually do, and you will be able to switch language to enter the content for the other language
- Install MLLanguageSelector.
For MLLanguageSelector, you have to modify your skin to take into account the modification. Please refer to the excellent guidelines realised by Apollo for instructions. Then, you will be able to choose between text, images for switching locale (the famous flag which helps you to change language).
PAGE LOCALISATIONNow, we will focus on the tabs (pages). You have the content which is localised, but not pages names... Not only page names, but also meta tag (description, keywords, etc...). For achieving this goal, you must : - Install Locopon DSLocalizator module
- Adding the module to a hidden page (a page not accessible by other people - or only admin)
- activating the module: click on "Install Helper (HOST)" > INSTALL HACK
- Setting the module:
- Host Options: do not touch
- General Options - these are my settings (non displayed settings are standard - do not touch):
 - Portal Settings Localization: I did not use it, you may use it, up to you.
- Tab Localization: this is where you will define the name for your different language, set meta tag (description, keyword, etc...). You can also hide a page depending of its locale (you may wish to hide a page for one language, and not for another one). You may also disable, set different skin, logo, icon, url, etc... Lot of features... Explore them all. On my side, I just use title, meta tags.
- Module Localization: we will see these parameters later on.
- Localized Replacements: I did not touch it
- Include files: I did not touch it
- Now, surf your portal, and see how beautiful it is... You change locale, and you have the page name changing (as well as breadcrumb), the content changing, the title of each ML module changing, etc... You are close to the perfect multi lingual website !
OTHERS MODULESNow, what about other modules like Ventrian News Article or ManDeep LiveContent ? If they do not support localisation, you can use them anyway. How ? We need to be able to localise the title and the content. See how we proceed: - Switch to english.
- Add a module (non localised one) to the page. Insert your content into it. Adjust the title.
- Switch to the second language (let's say french).
- Now, we will add to the same page the same kind of module than 2 steps before (non localised one). Insert your content in french, as well as the french title.
- Repeat step above with different languages.
- If you surf your website, you have a page which contains a module with french content, and a module with english content (and maybe other languages). What we would like to do is to be able to hide the modules which do not contain the correct language (according to the locale selected). Here, we will use Locopon DSLocalizator module > Module Localization (go back to your hidden page and the appropriate settings)
- In the Module Localization page, you are able to select your page, and you will see all your modules appearing in it. Just select the module to hide, and tick the "hidden" box to hide it (depending of the locale). Press Update and you are done. I strongly suggest to use this Module Localization utility to set the title of all modules (even if they are localised). I have already experienced some problems without using this feature (this is independant of DSLocalizator, this is more related to other modules).
Surf your website, enjoy the localisation... Friendly URL - iFinity URLMasterNow that you have a nice website, you would probably like a solution that gives total control over the Urls in your DNN website. If you are concerned by SEO shortcomings, this might interest you. iFinity Url Master solves all the DNN Url problems (taking into account 301 redirect, eliminating duplicate content from Search Engines, replacing another site with a new DotNetNuke site, re-organizing the pages in your site). This is a very simple, quickly installed solution to the problem without reading endless configuration options. Moreover, it is fully compatible with multi-lingual website. I will present below some tips to know before going further. Please respect them, or you may encounter strange behavior: - Install the module
- Add the licence to the /licence directory
- Activate URL Master (HOST > Friendly URL Settings) / I will not cover the various settings, please refer to the excellent documentation. On my side, I did not use the customisation offered by the module.
- Now, you would like to access all your pages, of course, and there is a small trick to know... I strongly encourage you to name your page (tab name) using a different name than the one you choose with DSLocalizator. For example, let's say that you have a page "Greeting". With DSLocalizator, you name it "Hello" for english and "Bonjour" for french. Do this for all your pages (excepted thoses who must keep the same name in english and in french - in such case, do not modify the tabname in DSLocalizator)
- Now, go to ADMIN > PAGE URLS, and for each page localised, "Add new URL", enter the english name (as displayed in DSLocalizator - in our example "Hello"), and choose Http action "200-OK". What is the result ? The page /Greeting.aspx will be 301-redirected to /Hello.aspx. And when switching to french, you will go to /language/fr-FR/Bonjour.aspx (while english is /language/en-US/Hello.aspx). Great, isn't it ??
Google SearchFinal step, the Google Search. Now that you have a nice website, you certainly want to search your website (and not using the DNN core search engine which has bugs with multi-lingual portals). With Google Search from mexmax internet, you have the perfect product ! - Just replace in your skin the "DNN core search functionnality" by the "custom Google search" (<> are replaced by {} ):
{span id="SearchTextBox"}{dnn:SEARCH runat="server" id="dnnSEARCH" CssClass="Search"/}{/span}
to be replaced by :
{span id="SearchTextBox" CssClass="Search"}{a href="http://yourdomain.com/Search-Page.aspx"}Custom-Text{/a}{/span} - Then, do not forget in DSLocalisator to use the "Localised replacement". In it, add your "Custom-Text" and replace it with the desired text for each locale (in my example, I used "Custom-Search" and replaced it by "Search" and "Rechercher"). You are done for the localisation
- Do not forget to modify the option in Google Search: insert your domain, your client-ID (looks like this: partner-pub-xxxxxxxxxxxxxx:yyyyyyyyy) and eventually your styling. I use the following:
Note that you can also include the Google Search module into your skin. More help will come on the topic very soon... Stay tuned... Problems I currently have...Currently, the following problems have been remarked: - Mandeep Live Content Install must be performed with URL Master disabled (othwerwise, you have troubles)
- While reading a Ventrian News Article, clicking on a flag redirect you to a wrong page, with an erroneous URL (/language/language/..../fr-FR.aspx --> duplicata of language parameter). Problem with URL Master.
- Impossibility to use the DSLocalisator module on a child page with the latest URL Master release (01.11.09). To bypass this problem, move your DSLocalisator module onto a PARENT page (not a child page). Then, disable URL Master for this specific page. Problem with URL Master.
- Disabling URL Master for a specific page does not work for child page. Problem with URL Master.
- Problem with DSLocalisator and localising the "Google search page". problem with DSLocalizator.
If you liked this article and want to help me a little bit, you can purchase one of your module on Snowcovered using this link: |