Foul Writer’s World

Tag: Joom!Fish

Building a multi-lingual help system

by noel on Apr.23, 2010, under Localization, Technical Communication, Translation, technology

So I have been busy lately. Hence the lack of posts.

But I thought I would write a short post on a project I am currently working on. It is the deployment of an online multi-lingual help system. The company I work for, Questionmark, are moving towards a Software As A Service methodology. We have several applications out, or in the pipeline, that are designed to be multi-lingual. Questionmark Live, is a perfect example. It allows Subject Matter Experts to easily create questions using a web based interface that can then be uploaded to Questionmark Perception for delivery to students in an exam or assessment.

The current help system employed by Questionmark Live is basic, so I have been looking at ways we could improve this. Essentially I needed a system that could be:

  • Used to create help pages
  • Able to display images
  • Translatable
  • Language aware
  • Able to provide direct links to pages in an easily identifiable manner

I checked all our existing systems and tools (Madcap Flare, RoboHelp, WikiSpaces, Contribute) but none really did what I needed them to do. I then started checking out other specific Help and Knowledge Base system and I came to the conclusion that they were either really good at organising and displaying information or being multi-lingual aware, but finding a system that could do both really well was impossible.

I decided to start looking outside the box and came across Joomla!. Joomla! is an open source Content Management System, in the same vain as Drupal. However, Joomla on its own isn’t language aware but there a are a multitude of add-ons and extensions that make pretty much anything possible.

My current line of thought for the new help system includes a deployment of Joomla!, with an extension called Joom!Fish. Joom!Fish provides Joomla with a whole translation workflow and makes the software language aware. Also the way that Joomla indexes pages makes it easy for our developers to call specific pages stored on the Joomla system in the language needed quickly and easily.

Each piece of content stored in Joomla is tagged with an ID. Any translations of the content is stored with the same ID so translations are actually part of the same piece of content rather than a seperate piece of content written in a different language. Perfect!

For example to call the help I would need to pass something similar to the following URL (simplified for the sake of this blog post):

index.php?contentid=38Lang=en

If I wanted to call a different page the URL would simply change to:

index.php?contentid=41Lang=en

If I then wanted to present a translated version of the above page I would just need to change the identified Lang parameter, like so:

index.php?contentid=41Lang=es <- To display a Spanish translation of the page

Now this is all pretty easy for our developers to arrange. Each Help button would be associated with a contentid and depending on the language version of the software the user was using the Lang parameter would also be passed to open the appropriate page in the required language. The Joomla and Joom!Fish combination is also clever enough to understand that if a translation of the selected page isn’t available it will show the predetermined base (original) language, which in most cases will actually be English. It can also be configured to work with language cultures like en-US and en-UK.

Another really cool thing that I like about the Joomla system is that I can change the look and feel of the page being called by simply modifying the URL slightly. For example calling the following URL would open the page with the full template and menu system:

index.php?contentid=38Lang=en

But calling the following URL would open the content without any distractions, no template, headers or menu, and display just the article:

index2.php?contentid=38Lang=en

This makes it perfect to open help pages directly from the application, while still giving me the control to allow users to open the help as a help centre with full navigation and searching capabilities. I’m hoping to finish off my proposal for the system in the next few days and get buy-in from various stake holders. So far all the developers I have shown it to love the solution. It makes life easier for them and everyone has agreed that it will make the content more meaningful, relevant and easier to maintain.

I’ll keep you all posted as the project progresses. If anyone else has any thoughts or comments feel free to let me know in the comments section.

Update

I thought I’d include some links to a demo system I have setup.

Here is a link to a sample help page:

www.foulwritersworld.net/joomla/index.php?option=com_content&view=article&id=46&&lang=en

The same page in Spanish:

www.foulwritersworld.net/joomla/index.php?option=com_content&view=article&id=46&&lang=es

With the menu and navigation turned off:

www.foulwritersworld.net/joomla/index2.php?option=com_content&view=article&id=46&&lang=en

  • Share/Bookmark
Leave a Comment :, , , more...

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!