June 2006


After browsing through the CVS and reading some old docs, I want to let you as a user of Crisoft Ricette know why I decided to re-inserting GNU Gettext for internationalization of the software. There are several reasons for me to use Gettext for the language settings.

First of all, it is much more flexible than the previously used constants stored in a text file. I’ve translated the text file before and it was very unclear, which of the constants was used at which place in the application. I had to check the english translation each time I wanted to translate a constant. I had to get the name of the constant, jump over to the english file, look up the constant and try to translate the english sentence into my german language file. With Gettext this should be a single step.

But that’s not the most important part. For you as a user of our favorite recipe management software, it’s not important how the translation is created - it’s important that it works. And even more important: You want text that is meaningful.

And that was the problem with the constants: They are constant. You can’t insert a generated value (generated by the php backend)  at a variable position of your translation. The developer had to put it at the start or the end of the constant message. While translating the file into german language I had to construct strange sentences just to match this pattern. And here comes Gettext again: I’ll glue gettext into the source code in a way that allows the developer AND the translator to give the generated values (like recipe names or error messages) a variable position.

I want Gettext to help me (as the developer) to easily add output messages and help you (as the user/administrator) to get meaningful error or status messages. And I think Crisoft is on a good way to reach both of this needs. With help of our new development member, DrSweety, we hopefully can reach the next step of development soon.
Please, feel free to comment on my posts using the comment system of this weblog. Soon there will be a Wiki available that let you easily create feature requests or just discussion pages about Crisoft. If you really want to help us improve the software, help us with feedback, feedback and more feedback. :-)

A few days ago there was a support request regarding the CVS and I replied in the support tracker shortly. But I want to make it clear that the CVS is NOT a production version - it should be considered as a highly unstable version, with a lot of changes going on and maybe it is not even functional if you check it out in the middle of a development step.

So if you want to install our recipe mangement software Crisoft Ricette, please download the latest stable release from our project page at SourceForge.

As you might have noticed, there is a new developer aboard: DrSweety. I think this will improve the progress of our loved project and we can bring the project up to the next level. Today we chatted about our next edits and the way we want to share the work and I think we can smoothly go on with my plans on GNU Gettext and XHTML/CSS support.

May the source be with you, DrSweety! :-)

Yesterday I inserted first documentation comments based on Doxygen into the Crisoft-Libraryfile. With the future expansion of the developer team in my mind (and a good hint by Aurel Bodenmann - thanks a lot) I decided to add this way of documentation to the project. It will help future developers to get into the code and maybe it will speed up the development as a whole.

I am used to Javadocs, so it’s not much of a problem for me to keep the coding style for doxygen. If you want to contribute to the project with sources, please document it ith doxygen now. :-)

Yesterday I implemented a new feature: Crisoft Ricette can now check for updates by itself. There is a new page in the admin area where you can let Crisoft check, if there is a newer version available. This feature is not yet completed nor is it included in the CVS, but it will come up soon.

And yes, I was very bored yesterday. ;-)