Thursday, September 23, 2010

Scale up

Narro was designed with one pair of languages in mind. And at that time, running an import on a big project on a modern computer for half an hour was acceptable. The only performance goal was to have a maximum page loading time of 1 second. There was no goal set for the import process.

Back then: 1 target language * 1 big project * 1/2 hours

Times are changing and the instance hosted on Mozilla grew to 61 languages. For each language I run an import on 4 big projects.

Right now: 61 target languages * 4 big projects * 1/2 hours

As you see, running the import process in these conditions is almost impossible, so the much postponed step of optimizing the code is absolutely necessary right now.

Note that the import process is running in background and eating up all the CPU power available on the server.

Fortunately, the code is ready for such optimizations which are:
  • cache database results whenever possible
  • do stuff only when necessary
  • use regular expressions only when really needed
So that's what I'll be working on before doing any release.

Thursday, April 22, 2010

Is there anyone outhere ?

I know it's been over an year, but development is slowly but surely moving forward.
There's still a hurdle to pass, and that is building an upgrade procedure from 0.9.4, last stable to the upcoming 1.0.

Among the goodies added on the frontend is translations in lists aka mass translation and the ability to import and export from various sources, like another project, a directory, upload, Mercurial, SVN, and so on.

To quote someone famous, version 1.0 will be ready when it's ready, but this post is here to say that development will be accelerated in the next weeks.









Tuesday, April 7, 2009

Works for me

There's a major release coming up, I can't say just yet if it will be 1.0, but that's where I'm heading at. You can see some progress in the image above.

I'm trying to simplify the user interface and the navigation. I'll introduce tabs where possible and remove options that are rarely used. I'm also working on introducing some basic functionalities that were missing so far, like deleting users and projects.

Better import and export is in the works as well, because it's still not working out of the box for everyone who installs Narro.

Once the existing functionality will be cleaned up, I'll address the most important issues from the issue tracker and bring out a release.

In conclusion, works for me is just not enough and works for everyone means just more work.

Thursday, March 19, 2009

Translations of similar texts and other news

The project list should show only what can be worked on, that is translations in progress. If you want you can select which projects to see.




Looking at some projects that I'm not translating, I always wondered if somebody is actively translating there. Well, now I know, on the project list I can see when was the last activity.

Another thing that I didn't like was that If an original text changed in form of adding or removing a punctuation sign, I had an untranslated text again. So I went back to the days where I had an index to search for similar texts.

Better yet, if yhere's no translation, the translations of similar texts appear automatically. You can copy them and adjust them before translating.



Other things planned in the near future are:
  • storing and using a word count value for texts and translations
  • adding project settings, like ignoring some files from templates, adding a custom header for gettext files and so on
  • split the Manage page into smaller pages
Several people have tried to install Narro on shared hosting environments or Windows machines and failed to do so. A better installation procedure is an ongoing effort on my side and several people have helped so far. The versioning started with 0.9 because I do not see Narro as an application that anyone can easily install yet. If you're not a technical person, you should wait for 1.0.

Saturday, March 14, 2009

1 year of open translations


Time sure flies and I forgot that Narro is one year old officially.

It all started more than a year ago when after years of translating software on voluntary basis I realised the obvious. I was doing a job that anyone could do if they had the necessary tools and the knowledge to use them. So I pursued my dream of creating the tool that needs no tools to translate.

Thinking in such a way leads to a lot of hard to appreciate functionality under the hood. There's no documentation and almost no samples of working procedures. If you're using Narro and like using it, maybe you would consider recording a video of using it. Drop the link in a comment here if you wish.

Friday, February 27, 2009

Where is that link?


Working with Narro I have come to the conclusion that the Actions columns from the text lists was just eating up valuable space. So I dropped it. Now you have to click the translation cell to translate. This way I also had the chance to explain the colours that I use:
  • black means approved
  • blue means not approved and not your translation, but the most voted
  • green means still not approved but it's your translation
Feel free to give some feedback on this.


I also added Search by author. Sometimes I get a very good translator and I want to approve all of his suggestions. So now I just search for him using the texts list and either use mass approve or just do it old fashion, text by text.

Another hidden feature worth mentioning is that the translation page already has some access keys defined for keyboard fanatics. Here's the list:
  • Save - s
  • Save and ignore - i
  • Approve - v
  • Next - k
  • Next 100 - h
  • Previous 100 - l
  • Previous - j
  • Copy original - c
In Firefox you use Alt+Shift+letter above. Feedback is welcomed on this as well, but have in mind that I'm planning to make this keys customizable.

Monday, February 16, 2009

Nobody's perfect: 0.9.4

The new release contains many improvements on the import and export side as I got a lot of complaints that "it's not working", especially for Windows based installations.

There are also new features, probably the most notable is the mass approve function on the text list.

I'd like to draw some attention to a hidden feature that I've never talked about before. If you put in the project's directory, let's say data/import/1 two files named import.sh and export.sh they will be executed, the first before import (for things like running a wget) and the second after export (for things like creating a language pack, or a compiled .po file). The scripts are called with useful arguments. Here's a script used for creating a Firefox language pack after the export process:
#!/bin/bash
# $1 - language code
# $2 - language id
# $3 - project name
# $4 - project id
# $5 - user id

cd /mozilla_projects/firefox/fx/browser/locales

make -s langpack-$1
export retVal=$?

exit $retVal
Don't forget about returning a value. The output will be shown anyway but with a warning or success message depending on the retVal.

If you're doing a fresh installation, follow the instructions in the INSTALL file.
If you're updating from 0.9.3, run the update files in the root directory. Their names are pretty suggestive.

And here's the link: http://narro.googlecode.com/files/narro-0.9.4.tar.gz.

I'd just like to add a small note of warning. The setup and install process may be a little rough as systems installations differ. But if you need help, don't hesitate to ask for help on the discussion group: http://groups.google.com/group/narro-project/post.