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. 