Michal Čihař - Blog Archives for English

phpMyAdmin moving to Gettext

For ages, we've been using PHP variables to do the localisation. It was not really easy to maintain, but it worked quite well. However impossibility of using standard tools for translations was still annoying. So I really wanted to move to some standard, what seems to be Gettext.

Once I've played with Gettext in PHP, I realised how broken it is and that it is not a good idea to use it. However it is not that hard to implement in PHP and some people already did that. From these findings it was just a small step to implement it.

Well not really small step, because at first I've chosen the more complicated way and tried to create sed magic to move all strings to places where they belong. But this turned out to be nearly impossible and at FOSDEM I realised that there is also much easier way to just keep the messages in one file and migrate them as needed. This way the migration is really fast and not touching most of the code.

So here we are. Currently it is in separate branch (called gettext), however I hope to merge it soon, because I'm not aware of any problems right now.

The nice benefit this gives to us is web based interface for translations.

phpMyAdmin uses Git

Yesterday I finally implemented what we agreed on FOSDEM - to use Git as a version control system for phpMyAdmin.

The migration itself required just a little bit of magic, fixing other tools which were relying on Subversion was a little more work, but hopefully I did not forget anything and all pieces are now fixed (if you spot something still referring to Subversion, please drop me an email).

Immediately after completing this task, I focused on another one - move from our custom translation system to Gettext. This is almost done in gettext branch and also web interface for translations is set up, but there are still some minor issues to fix (some messages are fuzzy even when they should not be). But anyway your translations won't be lost, so feel free to contribute there.

Gammu is getting new documentation for developers

During last weeks I finally got upset with state of developer documentation for Gammu and python-gammu. Not that it would be non existing, but it was spread over various places in various formats and partially outdated.

I decided to write all documentation in Shpinx as I know this tool and it seems to fit quite well in mixed C/Python environment.

The first step was to migrate existing docs into same format (reStructuredText) and create documentation structure. I believe this is now completed and you can check results here.

Yes there are still lot of rough edges and lot of work to do, but I anyway think that current state is better then mess we used to have before.

Blog breakage

Hmm, it looks like upgrading markdown was not clever idea, it seems to have broken lot of posts on the blog.

Hopefully it is correct now.

phpMyAdmin documentation translations

Activity of our current Chinese translator pushed me to do some work on localized documentation for phpMyAdmin.

The biggest change is that I lowered ratio for generating translated documents from 70% to 15%. I know 15% is quite low threshold, but I think showing partially translated documents is better than nothing. Especially for those like Chinese where the translation does cover installation instructions but not rest of document.

Also now header of each translated document points users where to improve the translation, so hopefully we will get even more contributors. Anyway if you're interested in it, just go to our translation server.

phpMyAdmin slowly goes to Git

As can be already visible from our SourceForge.net devel page or from repository listing, there are already some Git repositories for phpMyAdmin. They are not yet being used for development, they are there just for developers to get used to new workflow. The only exception are scripts and localized_docs repositories, which were made master as of today and will not receive updates from SVN anymore.

Anyway the repository should have same content as SVN (as of yesterday) so if you find any problems with that please let me know so that I can fix migration magic.

Preparing for Google Summer of Code 2010

It might be quite premature, but in phpMyadmin we've started our preparations for this year Google Summer of Code. This is basically just one of followups to the team meeting at FOSDEM, where we decide to apply again this year, but to try as hard as we can to be standalone project and not hidden inside of MySQL. We're grateful for participation in their project, however we feel it would be easier to manage if we're standalone project.

So if you are a student who might be interested in participating, you can already browse our ideas list (this time PHP coding skills are not strictly necessary as I've given there a documentation improvements also) or come with your ideas and follow our student checklist, to see what you can do to get accepted (in case we're accepted to GSoC).

Big changes in phpMyAdmin future

The main reason for me to go to FOSDEM this year was to meet with other phpMyAdmin developers to be able to discuss some things personally rather than on mailing list or irc.

We had quite a big list of topics to discuss and besides discussed some other things which will be made public at some point later.

The good thing is that both my proposals were accepted, so we're about to migrate to Git, what will make our development less blocked by slow SourceForge.net VCS server (what mostly affected people sitting in Europe). The migration will happen shortly, I expect to provide testing repository during next few weeks and we will switch for real once all developers get used to it.

The other important change is to switch our translation system to Gettext. The primary motivation behind this is to allow translators to use wide range of standard tools available for po files and also to allow web based translation using Pootle server in similar way we currently handle documentation translation. I have already prepared the migration plan to Gettext, but it will not happen before migration to Git as I want to benefit integration of Pootle with Git, what makes translations directly commit to the local repository.