Selecting a tool for managing Localization

Last modified by Vincent Massol on 2008/10/31 09:40

Selecting a tool to manage XWiki Localization

We definitively need to improve our translations or the XWiki Platform and products as well as support more languages. In order to achieve this we need:

  • a good tool
  • a way to involve the community

Our requirements for this tool is as far as I can list them:

For content types with need to be able to import and export:

  • support Java Application Resources
  • support translations in XWiki pages
  • support translations of full XWiki pages 

The tool should have:

  • being able to import directly from SVN is a plus
  • easy export in the right format
  • organization of translations by applications and files
  • ways to propose new translations (multiple proposal is nice to have)
  • ways to review and validate them (with a secure group of reviewers)
  • a system to detect missing translations
  • a system to detect outdated translations (the main language translation was changed)
  • ability to manage big volumes of translations
  • ability to work on translations by screens of 20 to 50
  • good UI is necessary
  • ability to work with multiple people at the same time on the translations 
  • ability to edit multiple translations in one screen is nice to have
  • direct commit to SVN is nice to have or ability to automatically create a JIRA issue with a patch attached. This solves the issue of reviewing since it gets sent to the list and a reviewer has to assign himself and apply the patch. Other solution includes the ability to send the patch to the mailing list for review.
  • notification for translators is nice to have
  • ability to improve the application is nice to have
  • control our application is nice to have
  • being able to deliver the translation app as part of XWiki is nice to have

In the last few weeks, Jean-Vincent has worked on a small tool allowing to detect missing translations and propose updates for them. On my side, I've been thinking about a workflow for a community working on translations, and worked on a prototype for it. I also had a look at http://launchpad.net which is an online site launched by Ubuntu which can manage translations. Here is a quick review of all three methods:

Simple translation check and edit tool

This tool allows to read the translations from SVN (currently ApplicationResources), compare them and detect missing translations. It then offers a textarea interface allowing to add the missing translation. A javascript allows to simulteneously scroll the original language text and the translated language text. The tool can then generate a patch than could be sent to JIRA.

Analysis: while this is a quick and simple way to update translations, it does not allow community work around the existing and new translations. It cannot handle full wiki pages translations. It is also required to handle the patches quickly in order to not have the contributors work on the same thing while we wait for applying the work. 

The application is available at: http://platform.xwiki.org/xwiki/bin/view/Localization/XL10N

XWiki L10N application

The objective of the XWiki L10N application would be to fullfill almost all requirements. The initial version would fullfill probably around 80%. The initial prototype is promising but wil need work to allow concurrent access and faster handling of big volumes of data. Currently the concept is ongoing translation. Reimport of the main language (english) file can be done regularly. The application would become the master for the translations files and these could be generated regularly and commited. 

The main advantage of this solution is that we control it. The main drawback is that we control it and that we need to do all the work.

The prototype is at http://l10n.myxwiki.org where the main XWiki core translation files have been loaded for a few languages.

Launchpad.net

Launchpad.net allows to import gettext compatible file (it seems possible to convert java resources to that format with some python tools). Once it is loaded on launchpad.net there is a quite extensively developed translation application. The concept seems to work by application version. We need to verity if this is the way we want it to work.

While registering on launchpad.net I've already seen a few issues linked to the fact that we don't control it:

  • my pot template files have not been approved and loaded yet.
  • registration email takes a long time to arrive (a single sign on with xwiki.org is much cooler)

Now launchpad.net is an open source application and we could install it locally (but this might not be easy as it is mixed with other tools).

The XWiki launchpad project is not yet active since my template have not yet been accepted: http://translations.launchpad.net/xwikil10n

Comparative table

FeatureImportanceSimple translation toolL10N AppLaunchpad
support Java Application ResourcesMandatoryYESYESconvert to gettext necessary
support translations in XWiki pagesMandatoryNOT YETYESconvert to gettext necessary
support translations of full XWiki pagesNice to haveNOT POSSIBLENOT YETNot sure it's possible
being able to import directly from SVN is a plusNice to haveYESYESNot possible
easy export in the right formatMandatoryPatch onlyYESNot possible
organization of translations by applications and filesMandatoryNeed workYESYESYES
ways to propose new translationsMandatoryYESYESYES
multiple proposal is nice to haveNice to haveNONOT YETYES
ways to review and validate them (with a secure group of reviewers)MandatoryNOYESYES
a system to detect missing translationsMandatoryYESYESYES
a system to detect outdated translations (the main language translation was changed)Nice to haveNOYESNO
ability to manage big volumes of translationsMandatoryTest neededWork neededYES
ability to work on translations by screens of 20 to 50MandatoryN/AWork neededNot sure you can quickly edit translations by batches
good UI is necessaryMandatoryOK for what it doesWe control itNo control but a lot of work done
ability to work with multiple people at the same time on the translationsNice to haveNOWork neededI think it works well
ability to edit multiple translations in one screen is nice to haveNice to haveYESYESNot sure
direct commit to SVN is nice to haveNice to havePatchPossibleNO
notification for translators is nice to haveNice to haveNONONO
ability to improve the application is nice to haveNice to haveYESYESNO unless we install locally
control our application is nice to haveNice to haveYESYESNO unless we install locally
being able to deliver the translation app as part of XWiki is nice to haveNice to haveNeed workYESNO
Tags:
   

Get Connected