Saturday, January 31, 2009

What's Narro good for?

Being too busy developing the application, I've never described in the simplest way possible what's Narro good for. Since examples are the best way to learn, here's one:

Old process:
  1. svn checkout file.po (CVS, hg, git or any other similar command)
  2. poedit file.po (Open the file with a program to translate it)
  3. svn commit file.po (commit the translations I've made with let's say poEdit)
Actual process using Narro:
  1. svn checkout file.po (CVS, hg, git or any other similar command)
  2. import the file in Narro
  3. translate the file in Narro
  4. export the file from Narro
  5. svn commit file.po (commit the translations I've made with let's say poEdit)

Although it seems that the actual process got complicated, there are several major improvements:
  • one text can have more translations than one
  • people can translate at the same time
  • the only tool they need is a browser
  • I can introduce various methods to improve quality, like the ones already implemented: punctuation check, spell check and entity check
As you can see from the example, the checkout and commit operations are still done the old way, right now using some cron jobs. That's because Narro doesn't know right now to import from something else than a directory. In the next version I plan to add the possibility to write various plugins for sources of translations.

Wednesday, January 21, 2009

Narro has its own translation in gettext

This entire post is about Narro's interface, not the files it handles for translation.

I've changed the internationalization engine that Narro uses for its translation from home made to gettext, so now there's a pot file to translate.

For those using, you'll have to approve the texts again, but this time you can export a po file an send it to me so I can include it in newer versions.
When you export the translation, a compiled file is generated as well besides the export po file and the translation in Narro is activated instantly.

Sadly, the engine I use, Zend_Translate, doesn't care about plurals, but since it's an active project I hope future versions will support plurals. And right now there are a few places that would use plurals, about 10, so it's not a big issue.

Saturday, January 17, 2009

Narro 0.9.3 is out

Here goes another release. It wasn't the best time to release as there are many things to add, but the 0.9.2 version was getting too old and the trunk version is used without problems on two working installation, so things were stable enough.

I'll highlight the most important additions in this release:
  • permissions are grouped in roles now, which makes user management easier
  • "validate" changed into "approve"
  • you can export the unapproved suggestions based on several criteria, like the most voted ones, or your suggestions
Download from the project page:

For the next version, I'd like to create customizable import and export sources that will allow you to get the translation from CVS and post it back to CVS for example. With this step, a general cleaning and improvement on messages on the import/export side will come so people that experienced problems with different php installations should be a little happier with the next version. I myself and a few others will be happy as well to publish their changes directly to versioning systems.

As always, feel free to suggest ideas or report bugs about Narro.

Monday, January 12, 2009

Narro @ Fosdem

FOSDEM, the Free and Open Source Software Developers' European Meeting

I'm going to Fosdem, so if you're there and interested in having a talk with me, try to find my head in the croud.

For those of you who can't make it, I'd just like to recommend to use the trunk version of Narro until a release is done. There were many changes, but there's no time right now for a release.

I'm planning to work on defining sources for import and export so that you can import and export directly from/to versioning systems. This is one of the most important things after getting Narro working as a translation tool.