How to Implement Multi-Language Localization With DotNetMushroom RAD - Issue 53
Last Post 12/23/2011 6:11 AM by Joseph Craig. 5 Replies.
Author Messages
Lee Sykes
DNN Creative Staff
Nuke Master VI
Nuke Master VI
Posts:4945


--
01/29/2010 6:21 AM
    Add any comments or questions regarding the How to Implement Multi-Language Localization With DotNetMushroom RAD tutorial from Issue 53
    Lee Sykes
    Site Administrator
    Subscribe to the website : DotNetNuke Video Tutorials : The Skinning Toolkit : DotNetNuke Podcasts

    Twitter: www.twitter.com/DNNCreative

    Lee Sykes's Facebook Profile
    Andre Decio
    Nuke Active Member
    Nuke Active Member
    Posts:32


    --
    11/05/2011 8:59 AM
    Hi, I need to present either an English or Arabic (left to right) layout for the same pages on a site which I'm developing for an Arabic (Dubai) customer. I don't want (if possible?) to create two separate pages that are identical (with a different page css file)to handle this.

    So I plan to handle this by dynamically inserting a 'Englishlanguage.css' file in the page header (lower down than skin.css), depending upon a querystring 'Englishlanguage' value. I installed the 40Fingers StyleHelper skin object to do this.

    The option on every page, will be presented to the user as two links 'English' and 'Arabic' . The 'English' link will just link to the same page with the 'Englishlanguage' querystring added on, that will cause 'Englishlanguage.css' to be inserted into the page header when reloaded by DNN.

    'Englishlanguage.css' will reset 'dir:ltr', and set any html/text editor module (with '.Englishlanguage' class to 'display:inherit' (visible), and '.Arabiclanguage' class to 'display:none'.

    The default layout and language will be Arabic (no querystring).

    And via skin.css (which will set the default) I'll set '.Englishlanguage' class to 'display:none', and '.Arabiclanguage' class to 'display:inherit'. I don't want to use the same module to translate the same text content from Arabic to English, as it's not accurate enough. Instead I'll have two separate html editor modules in the same container, and display the appropriate one (skin.css should be overridden by 'Englishlanguage.css' when user links to www.mywebpage.com?Lang='EnglishLanguage').

    Now comes my question (sorry): I believe that the text in the pages and modules (eg. in the menu bar) will be converted to Arabic text if I implement an Arabic language pack somehow. That's the bit I don't know ie. how to inmplement an Arabic language that can revert to English, controlled by the little system I'm setting up here.

    It's a bit complex, and as I'm very new to DNN I want to start off in the right foot with this. If I don't I can imagine huge headaches trying to streamline this language and layout switching mechanism. Especially as it involves effectively replacing modules based on which language is used by the customer when adding text content.

    Andre Decio
    Nuke Active Member
    Nuke Active Member
    Posts:32


    --
    11/05/2011 9:45 AM
    Oh, it looks like the DotNetMushroom RAD effectively stores content separately depending upon language selected. At least, for the example News Module.
    I need to understand the DotNetMushroom RAD more to see if I can avoid having 2 separate modules as described above.
    Joseph Craig
    DNN MVP
    Posts:11667


    --
    11/05/2011 11:00 AM
    Before getting in too deep, take a look at the localization tools built in to DotNetNuke. There are also some nice free modules available to fill in some other capabilities.

    If you are using DotNetNuke localization, the HTML module provides multiple language capabilities in that module.

    There probably are some issues with a site that must switch from ltr and rtl depending on the language. I'm not at all familiar with that, but it probably involves (at a minimum) of switching css files. There are tools for that. I would look, in particular, at the Style Helper from 40fingers.net.

    Joe Craig, Patapsco Research Group
    Complete DNN Support
    Andre Decio
    Nuke Active Member
    Nuke Active Member
    Posts:32


    --
    12/23/2011 2:07 AM
    OK, generated a copy set of pages for the language, after setting the Admin Language checkbox. But I can't get to access any module settings from those new alternate language pages. Get this message:

    "critical error has occurred. Valid values are between 1318 and 1450, inclusive. Parameter name: year"

    Any pointers?

    Cheers
    Joseph Craig
    DNN MVP
    Posts:11667


    --
    12/23/2011 6:11 AM
    Is this error coming from RAD?

    Joe Craig, Patapsco Research Group
    Complete DNN Support


    ---