Transitioning Mifos UI and Translations

Why are we changing Mifos presentation layer (UI framework)?

For the Mifos presentation layer we’re moving from JSP and Apache Struts to Freemarker and Spring MVC.  In short, we can build features more quickly because Freemarker works well with Spring MVC which provides us a good framework for modular applications.  Freemarker Template Language (FTL) pages will be much cleaner than previous JSP pages, enforcing presentation and business logic separation, strong templating and page composition, good error messages for debugging, and ease of use in programming web pages with it. 

Full details on the ongoing evolution of the Mifos architecture can be found in our [Technology Plan|MIFOS:Mifos Technology Plan] along with this Architecture Overview page [discussing the rationale for why we made each decision|MIFOS:Architecture Overview].

What is the timeline for phasing in the new UI pages?

It’s our goal to have the entire Mifos UI on FTL pages in 2011.  We will do this in phases as we build out new features and refine different parts of the core application. Each time we build a new feature we do it on an FTL page and each time we edit an existing part of the codebase we refactor the JSP page into an FTL page.  For the Leila E release, the majority of the Admin section will now be in FTL pages which corresponds to about 25-30% of the overall UI having been converted.

What is happening to the old translations?

With Mifos UI now in FTL pages, the messages and message IDs are structured slightly differently than in our previous UI on JSP pages.  Unfortunately, this means we can’t automatically re-use all the existing translations.  We have ran an automated script on messages that are exact matches which brought over about 25% of the existing translations.  However we'll need to manually re-translate the remaining messages.  Although existing translations can't simply be copied and pasted over to each new message, this re-translation should move fairly quickly as the existing translations can be used as a guide and resource.

Here are the 44.po files for each of the old translations combined into one text file.  You can directly pull these old translations down from git.  Click snapshot if you'd like a zip. 

What is the timeline for phasing in the new translations?

Before each new release ships, we must translate the new .properties files in the Mifos UI built on FTL pages. As we do this we’ll try to re-use the existing translations as much as possible.  Our first major milestone is getting translations in for Leila E.  To hit our release date, all the new .properties files must be translated by November 17.  The four priority languages that we need to have translated are: French, Spanish, Chinese (Simplified) and Portuguese.

Check the status of translations – we need to be at 100% for each language.

Why are we moving to Translatewiki.net (TWN) from Pootle?

Translatewiki.net offers the following benefits over Pootle:

  • An easy to use tool with powerful features that is hosted and maintained by an active community who is readily available to provide support via IRC. 
  • The translations efforts of the entire Translatewiki.net community which offers us the potential to get Mifos translated into many more languages than previously capable.
  • Smooth integration automatically pushing translated .properties files to our git repository

How do I start translating using TWN?

Read this Online Translation HowTo for TWN to get started.