Products

Solutions

Resources

Partners

Community

Blog

About

QA

Ideas Test

New Community Website

Ordinarily, you'd be at the right spot, but we've recently launched a brand new community website... For the community, by the community.

Yay... Take Me to the Community!

Welcome to the DNN Community Forums, your preferred source of online community support for all things related to DNN.
In order to participate you must be a registered DNNizen

HomeHomeDNN Open Source...DNN Open Source...Provider and Extension ForumsProvider and Extension ForumsLanguage PacksLanguage PacksHelp for ML portal offeredHelp for ML portal offered
Previous
 
Next
New Post
8/25/2005 5:14 PM
 
Hello Vincenc, hello all i18n developers,
I've been redirect from this thread on the main forum (http://forums.asp.net/1032550/ShowPost.aspx) while I was searching for a solution on how to make a ML portal with DNN... and I found out that the only possibile way is to use some 3rd party developed modules. But dynamic localization is not built in into the core yet.

I've a long experience in developing ML CMS for portals (the latest I developed is now driving www.goal.com, www.acmilan.com and many other websites in Italy) so this forum is to offer my help in the design of this feature inside the core of DNN.

I'm on holiday at the moment, and I'm accessing this forum from an Internet cafè with 10 people on queue behind me, so I've better be quick (or I'll be dead ): anyway, in my experience I used many appraches for the development of this feature:
  1. an object is created absolutely in NO locale, and then it's translated in many languages. DB speaking, there is an "object" table with the obj_id, and then there is an "object_local" table with the couple obj_id, locale_id and the translated attributes
  2. the object is created in one language, so DB speaking, each object has only one locale, and is like as there are many portals, each with its set of tabs, modules and so on
  3. the third is an extension of the 2nd: object are created in one language, but can be linked also to other locales (DB speaking, there is an "object" table with the main object, and then there is an "object_locale" table that links each object to one or more locales): this way if I've a main language on the site, and I don't want to translate all tabs in all locales, I can link, for example, the contacts page in english also to the italian version of the site.
Well, in my experience, the solution n° 3 is the best because:
the 1st forces all version of the portal to have the same structure (and forces the admin or content editor to make a translation for all contents), and this is not always true
the second could have been the best solution, but it forced the content editor to write 2 identical contents for not localized contents (like tables, links) if he wanted them to appear in 2 version of the site
so the 3rd is the best because solves also the little problem arose with the solution 2.
I've seen that the modules from tiendaboliviana.com and from apollo both uses the approach n° 1, becuase the same tab_id has different contents for different locales.

What are u thinking to adopt for the core module?

Hope to help more when I come back home.
Simone

Any sufficiently advanced technology is indistinguishable from magic
"Life is short, play hard"
 
New Post
8/30/2005 3:48 AM
 
Hi Simone,
You could try my modules for DNN 3.x  that I developed to address localization issues.
They are available for download from my website http://www.pureportals.com/gr
 
The one called GR-MLXHTML allows to write one HTML code for all languages
and localize it by the use of "resourcekey" and "resourceattributes" attributes on HTML elements.

Here is the code example:
 
<a resourcekey="rDeleteRecord?">Delete record?</a>
<input title="Click to delete record" type="button" resourcekey="rYes" value="Yes" resourceattributes="value title" />
<input title="Click to cancel transaction" type="button" resourcekey="rNo" value="No" resourceattributes="value title" />
 
Regards,
Germans
 
New Post
8/30/2005 4:27 AM
 
Hi Simone,
 
actually my (or rather Apollo's) way of doing dynamic localization is a bit more complicated than your method 1. My ML modules use fallback methods so there will always be text visible. So if you have localized your text for en-US and de-DE, but not for fr-FR, and your portal default languages is de-DE, while en-US and fr-FR languages are available in your portal, a visitor requesting fr-FR text for the MLHTML module will see the de-DE text in an otherwise french context.
 
So while you are right from a usability point of view, that a site admin should always translate all contents for all languages, i think we agree that that is not always possible due to time constraints. In my view its the developer's job to think of solutions to do this.
 
cheers,
 
Erik

Erik van Ballegoij, Former DNN Corp. Employee and DNN Expert

DNN Blog | Twitter: @erikvb | LinkedIn: Erik van Ballegoij on LinkedIn

 
New Post
8/30/2005 5:25 PM
 
Dear Germans,
thank you for the answer, but I think you approach is far too complex for the average content editor of a website.
It will be good if the pages are made only by the site admin, but in my scenario, pages are edited directly by the "content editor", which can barely use the FCKeditor to insert contents in a word-like UI: he will no way understand what resources keys and all that stuff means

Simone

Any sufficiently advanced technology is indistinguishable from magic
"Life is short, play hard"
 
New Post
8/30/2005 5:34 PM
 
Erik,
that's why I think that option 3 is the best.
It's like your way of doing things, but let the content editor (or site admin) decide wheather to display a locale different for current one, or not to show a content at all.

Imagine a JP portal with an english translation... maybe you don't want to translate a local shop page:
  • in your module english people will see the page in the menu, will click on it and see a JP page
  • with my implementation, it's up to the editor decide if the english guy will see the JP page or not
Of course this way of doing things is much more complex because the objects inside the menu will dipends on the locale (and not just their translation), but I think that, if implemented in the core instead of inside a 3rd party  module, will be easier and will provide a higher value to DNN.

Simone

Any sufficiently advanced technology is indistinguishable from magic
"Life is short, play hard"
 
Previous
 
Next
HomeHomeDNN Open Source...DNN Open Source...Provider and Extension ForumsProvider and Extension ForumsLanguage PacksLanguage PacksHelp for ML portal offeredHelp for ML portal offered


These Forums are dedicated to discussion of DNN Platform and Evoq Solutions.

For the benefit of the community and to protect the integrity of the ecosystem, please observe the following posting guidelines:

  1. No Advertising. This includes promotion of commercial and non-commercial products or services which are not directly related to DNN.
  2. No vendor trolling / poaching. If someone posts about a vendor issue, allow the vendor or other customers to respond. Any post that looks like trolling / poaching will be removed.
  3. Discussion or promotion of DNN Platform product releases under a different brand name are strictly prohibited.
  4. No Flaming or Trolling.
  5. No Profanity, Racism, or Prejudice.
  6. Site Moderators have the final word on approving / removing a thread or post or comment.
  7. English language posting only, please.
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out