CodingTeam is a free and easy to use forge designed for you. Your projects need simplicity and intuitivity!

CodingTeam

Blog

Feed subscription: or .

Categories

 

Project of the Month #1 - Bechamail

The project of the month is an interesting project using the CodingTeam software forge. Each month, I'll pick up another project that looks attractive and speak about it on this blog. Thus, the community gets a place to be known. So if you use CodingTeam (either CodingTeam.net or your own forge) your project can appear here! By the way, if you think that it would be captivating to present your project here, let me know!

The project of the month for february 2010 is Bechamail. And it becomes the first project of the month!

Bechamail is lead by Robert Sebille on CodingTeam.net since november 2007! He works on this project since 2005 for his association with help and feedbacks from the other members of it.

Bechamail is a French-speaking project written in PHP. It's an e-mail addresses manager. Concretely, it helps the sysadmin by providing an user oriented tool to easily configure e-mail addresses for one or more domain names. It fits to MTA and MDA configuration.

This project has been developed in an associative context as Robert is one of the fouding members of Cassiopea. The goal of this association is to heavily connect associative virtual networks and to help people to understand new technologies. Cassiopea provides internet services such as implementation or development of websites, mailing lists, domain names, e-mail addresses, trainings… to other Belgian associations.

Bechamail is born in 2005 because, at the start of this associative project, whenever it was necessary to create, modify or delete an alias or an e-mail box, they had to intervene on the server. It was inevitable to automate the process and allow members to manage their e-mails easily.

Bechamail is successfully used at Cassiopea and also at Banlieues, an association that focuses on the disadvantaged public. Those who want to try Bechamail can !

And now, a few questions asked to the project leader!

  • How did you know CodingTeam?

    By searching the web for forges lists (but I don't remember where). Functionnalities suited me and it was in French and English. It looked good to me to support a sofware forge available in French. There were not many.
     
  • What CodingTeam brings in your project development?

    Usual functionnalities of a software forge of course, like the essential SVN. Once you start to use CodingTeam, it's so practical, how to do without? ;). I remember a day, there was once a technical issue on the the server side, I really appreciated to be able to discuss it on the chatroom and the CodingTeam reactivity!
     
  • What would you see in CodingTeam in the future?

    I was going to say the dashboard, but it's already done ;), great! Then, e-mail report when someone answers to a bug or a feature request. Otherwise, I have to think regularly to consult the bug tracker or the RSS feed, and I don't always think about it, especially if I am busy with another project for a few months. That's why e-mail notifications would be useful for me, because I could see them even if I'm working elsewhere. I read the discussion here. The solution to choose to receive or not notifications seems good to me.
     
  • Since you use CodingTeam, did you became rich and sexy?

    Rich with money? Not so. On the other side, I found a lot of fortunes on CodingTeam.net ;). Sexy? I was already sexy before, in my point of view. ;)
     
Thanks to Robert who answered to my questions! Feel free to take a look at Bechamail!

Translate your projects via CodingTeam

It's time to start this blog with an interesting subject: online translation inside CodingTeam. This post is a full introduction to this new feature in the CodingTeam software forge.

As it stands in the release notes for the 0.9.2:

CodingTeam 0.9.2 reintroduces the gettext-based online translation system. It was already in our forge up to the 0.42 but this had disappeared with the full-rewrite of the 0.9. Now, you can easily translate your software online with CodingTeam! The process is simple: you upload a gettext translation model (a .pot file) and then users can translate all your strings in their language. If you already have a gettext translation file (a .po), you can upload it to automatically translate all the strings in the database. When you want to get the translated strings in order to release your software, just export the translation file for all available languages and it's done! And by the way, to prepare the next release, you will import your new .pot file, which will cause the automatical update of your strings database (deleted strings will be deactivated).

This feature is very new and we release it early to get feebacks on this implementation, in order to make it better and better with the time. But here it is, you can now translate your softwares with CodingTeam!

Thus I write this step-by-step howto in order to fully explain this feature, its use and operation to the CodingTeam users and more generally to anyone who may be interested.

Before starting, it is necessary to mention some important points. First, CodingTeam is a software forge, that means that you can do everything to develop your software in one place with varied tools from bugs tracker to source code management. This software can be used, if you have a free software (as in freedom) project, on the CodingTeam.net website!

The method used to implement internationalization (also known as i18n) inside the CodingTeam software forge is based on gettext. It's the GNU library for internationalization and localization. gettext is somewhat a de facto standard to develop multilingual programs. The use of this library is very simple. Programmers put their strings in the gettext function (commonly aliased _). Then, they run xgettext that generates a .pot file wich is a template (it means that this file contains the list of translatable strings extracted from the sources). Afterwards, the translator derives a .po file from this template with msginit or msgmerge and the translation is made in this file. He just send it back to the developer who uses msgfmt to generate a .mo file wich is a binary. These binary files will be used by the program.

With CodingTeam, all the translation work can be made online. The fact is that a lot of people are unwilling to use gettext. Therefore in the context of free software, an easy-to-use appliance can only increase the number of translators who will contribute to your project! And, in an enterprise, it's just necessary to save time.

First step: upload a .pot file.

Just click on the "Administration" link to enter the panel and select your base language.

If you're going to import a template of translatable strings of your programs currently written in English, thus your base lang is English. Just import this file and you're done, strings are now ready to be translated.

English is now hidden in the list of the internationalization homepage. This is because you won't translate strings that are already translated!

Second step: upload a .po file.

Now, you can import an existing translation files if you have it. Just fill this form and this language will be updated.

It's useful in order to maintain on a CodingTeam forge the translation that you've already started elsewhere. The .po import is designed for that and for prehistoric animals that still contribute to translation without using online interfaces.

Third step: translate a string.

The third step is the most interesting of all. Here is the translation string view:

You can see the string that you have to translate and the current proposed translation. If you are registered on the forge, you can add your own proposition (and tag it as translation, correction or reformulation). You can also see where this string is located in the sources (file and line number), this kind of information can be very useful to understand the meaning of a sentence taken out of context.

And below you have the revision history for this translation. Indeed, CodingTeam's internationalization system works as a sum of suggestions, the last one is the translation that ends up being used. Thus, to limit abuse, administrators can delete any suggestions.

When someone contribute to translations, this work is shown in the project's timeline (and therefore in the dashboards). You can also get (through this timeline's entry) a summary of all translation work made in a day by all translaters on all languages.

Fourth step: export a .po file.

Once translation work is finished, you can export the translated .po files. You will just have to compile .mo files from them.

Well done!


Well, you know everything you should know about CodingTeam's online translation system!

But, as I said in the release notes, this feature is very new. It lacks a lot of functionality and can be improved by the time. Some of the needed (and planned!) things to make this internationalization system better are:

  • linking the source code repository and the internationalization system (update on commit, build and commit translation files…)
  • handling plural forms

If you have another great idea, feel free to write it here!

First post!

Alright, here is the first post on the CodingTeam blog!

To celebrate this new release (and this new year), I open this blog. This will not contain releases notes, there is already the project news for that. So, let me explain the goal of this blog. It's intended to be a place for the CodingTeam community (formed by users and administrators) to get news about the project and where they will be able to participate in the future of the project, by writing their advices on the posts. This will also be a place where people will find informations and news about the project.

This blog will be updated monthly with subjects related to CodingTeam or the software forges in general, so you don't have to know everything about CodingTeam in order to read this blog. This blog will also speak about projects that use CodingTeam, in a "Project of the Month" category. By the way, if you are using CodingTeam for your project(s), feel free to contact me!

The releases notes of the new 0.9.2 release can be found here and you can download it here.

Thus, the appointment is made! See you soon.

page 2 of 2 -