Monday, July 21, 2008

The basics: users and texts

I'm beginning a series of posts that will explain how Narro works. Let's look at the Narro users.

Any registered user can translate. You could even let anonymous users translate, but it's better to get people committed. Their suggestion needs to be reviewed by someone with experience. So some people can validate translations. Right now, the anyone user is missing from existing translation processes. Usually there is one person translating and validating at the same time. So Narro lets anyone translate and someone with experience spends considerably less time just correcting or validating. This process ensures that any translation was reviewed at least once.

Narro stores a text that needs to be translated only once. One text can have many translation suggestions, not just one as usual so far. There's always room for improvement and some texts may be translated in various ways depending on the circumstances. One text may be used by many projects. So the same text present in many projects will have the same translation suggestions available to choose from.

Think of Narro's inside architecture like a language dictionary that's constantly growing. Or a translation memory if you prefer. It has the original text and several possible translations. You choose which translation to use in a particular context.

Monday, July 14, 2008

And we're off. Narro version 0.9.1

It's about time. To launch a version that everybody can easily use. This is no beta. This is Narro 0.9.1. I gave up on beta 2 because I really don't have a QA team to justify beta releases. So I'd rather release often.

Finally, Narro supports a different number of plural forms than the source language (usually english). Better yet, on import, based on the language's known plural forms, the correct number of plural forms are created even if they don't exist in the translations to import. This gives you extra quality. The PO header is filled with the last revision date set as the export date from Narro, the translator's name and email address from Narro, the correct plural form declaration, the language name and the project id if it's not defined. So you'll get a beautiful PO on export.

There are numerous other things that were added and fixed. Feel free to browse the checkin log.

I was thinking of adding some screencasts, but I'd have to upload some large videos because I'd need at least 800x600 so that you could notice something. So please visit to see Narro in action.

To install Narro, download it, unpack it in your webroot directory and follow the instructions from the INSTALL file. If you succeed, please come back and post thoughts of joy. For frustrations and other issues, please use the narro-project google group.

Thanks to NGUYEN Manh Hung, Ehsan Akhgari, Huda Sarfraz, Adi Roiban and Jani Monoses for their help.

Wednesday, July 9, 2008

Beta 2 is getting closer

Things are stable so far. Beta 1 went out with some installation problems and import/export problems. All those that were reported were fixed.

I've spent most of my time adding minor things here and there, correcting bugs, so I'll release a Beta 2 at the end of this week. If it won't have serious bugs, version 1.0.0 stable will be next. Otherwise, Beta 3.

I know I really have to write a manual of some sort but I'm really busy coding, and people have understood so far the application without needing a manual.

On the left, you can see what projects are in the Narro installation used for Romanian language so far. You can see native OpenOffice format, Gettext, Dumbgettext (the one used by some mozilla sites, it's not a correct gettext, but hey, Narro deals with it), you can see even SVG and phpMyAdmin format there.

So you get the idea. Narro is meant to translate almost anything that is related to user interface.

Saturday, July 5, 2008

First Beta 1 results

Beta 1 got some brave users who tried to install Narro on their own machines. Luckily they gave feedback too, so a first set of problems are set to be fixed in Beta 2.

The most obvious was the lack of support for system calls through php, so in Beta 2, the exec function will be replaced everywhere with php code.

If the proc_open function is disabled as well, instead of having the project import in the background with a nice progress bar, you'll have to wait for a page to finish loading, as usual on the web. Or import through the command line.

Some other bugs were fixed, I'm really really trying not to add more features to speed up a 1.0 stable release.

I had a few minutes to try my drawing skills and I have now a Narro logo, slogan and a cute favicon.

So, people hold on. For Beta 2.

Tuesday, July 1, 2008

Beta 1 seen in the wild

The day has come. You can take Narro for a spin on your own server. Download the archive and follow instructions from the INSTALL file inside it. Visit the Known Issues about Narro page. Report any other issues. Cross your fingers.

Remember that this is a beta version. Proceed with caution and have patience. Ask in the Narro google group for support because there's no help written yet as the application is growing. Expect some screencasts this week.

If you're a PHP developer and want to help, please say so in the group.

If you want to maintain your Mozilla translations on please contact me so I can give you necessary rights to do that. I'll have another post on this topic tomorrow.