At Arabeyes we usually work on .po files. Po files are compilations of messages used in an application. We get them from the OSS project (e.g Gnome, KDE, Mozilla, etc) and, for some projects, host them on Arabeyes Git servers while we work on them, then give them back to the OSS project, and tada, we have an Arabic version of the software by the next version.
In general, you can work on a project by just contacting its maintainer, have a look here at the list of projects Here. It is however a good idea to subscribe to the doc mailing list here so you can interact with the workflow, as we do discussions there.
To work on a file, you will need an application to assist you. If you use Windows, under Windows the best solution is probably PoEdit. On GNU/Linux, the most used applications are KBabel, gTranslator, and PoEdit (for Linux).
A po file may contain tens, hundreds or thousands of strings to translate. The translating application generally will help you by automatically translating some of them.
A string in a po file may be in three states. It can be untranslated, fuzzy or translated. An untranslated string needs a fresh translation. A fuzzy translation is usually done automatically by the computer, so in most cases it needs checking and correcting, you can also leave a string as fuzzy if you feel your translation is not correct, keep in mind, however, that somebody else will have to take more time to fix it. The goal of course is to have all strings in the translated state.
Getting the Po files
First it is recommanded to contact the mantainer of the project that you are willing to work for, and ask him to assign you some files. This is done to avoid duplication of work.
After that you can get the PO files that you'll work on in different ways; either ask the maintainer to mail them to you, or get them via CVS web interface. Use "download tarball" to download all po files of a particular project. This will help you in setting up automatic translation from existing translations, using the translation applications.
If you are experienced in using CVS (or want to learn, it's not hard at all), you can check out the files using CVS directly, see this page for more info: Anonymous CVS.
PoEdit runs on Windows, GNU/Linux and Mac OS X.
For GNU/linux users, you can install it using your distribution's package manager.
For Windows and Mac OS X users, yu can get it from here (you can download linux source from there too).
Once you get a po file, or a collection of po files, you can either open each individually and translate it, or you can use the "Catalogs Manager" to import a folder. This is useful to keep track of all files and build a dictionary that will help you with automatic translation.
The following screenshots show the main window and the catalogs window. A few untranslated strings (blue), fuzzy strings (yellow), and translated messages (white) appear.
You might like to create a dictionary to help you. Go to Preferences->Translation memory and set one up.
If you are KDE user, KBabel may be your best choice.
you can install it using your package manager; for debian based linux distros you can use ap-get or synaptic to install it, also mandriva users can use mandriva controle center to do so.
If you are GNOME/XFCE user, gTranslator may be the best choice for you.
You can install it the same way as kbabel, see above.
Submitting files back
Now, you made some translations and want to submit it back. This is too simple indeed, just email them to the maintainer and he will submit to the CVS for you.
If you are doing much work, It may be a good idea to get a CVS acount to submit your work directly.
How to translate symbols (%s) plural forms, etc.
Translator Guide: check the translator guide in this page, it has more advanced and details stuff. But beware that it might be horribly outdated.