By Gábor Hojtsy , 17 December, 2007

The current Drupal process of translating with Gettext PO files, trying to get them into CVS before a release file is generated and then going over hops to update it properly is far from ideal. There are lots of drawbacks, and I started working on a web interface this summer, sponsored by the Google Summer of Code program to improve this situation. Unfortunately the server is not yet ready for prime time (on drupal.org), but there are a number of beta testing servers where some translation teams already try to leverage the cool things this tool offers, so I have lots of feedback on the issue queue.

Localization server 5.x-1.0-alpha2 user interfaceIn the last two weeks, I spent a sizable amount of my free time on improving the navigation user interface, and adding team features to the localization server, which resulted in a huge changeset, and consequently an 5.x-1.0-alpha2 release of the module, which is now available for download.

I put in a lot of thought into designing an interface which is both easier on the newcomers and on the experienced translators, but honestly I focused more on the experienced translators with as easy access to their work as possible, implementing "quick jump forms", direct linking possibility to the translation filter pages, and so on. Note that I am not a professional interface designer, I make plans up as I go along, based on user feedback and my own focus areas.

While there is still lot of room for improvement, I believe this user interface update makes using the application easier. I tried to concentrate on emphasizing the application aspects, but honestly this is not easy when you don't have control over the theme your application is displayed with. I played with adding a web application theme into the mix and requiring that for Localization Server onwards, but then decided that this can be done later if desired. For now the navigation changes can live well with any theme not exactly focused on web applications, but web sites. I see however that in the not so distant future, I might need to tie the interface to a theme, because that allows proper focus on a usable application interface.

Check out some screenshots of how the current interface looks on my Flickr account. Next up is fixing some remaining bugs, as well as new bugs introduced with this navigation interface update and finally improving on the translation interface itself.

By Gábor Hojtsy , 15 November, 2007

In my short free hours the last few days, I was brainstorming on new features for the translation template extractor (this little module which extracts translatable strings from Drupal modules) to make both the translators and Drupal coders life easier. Today I am proud to announce, that I released the old stable code as Potx-5.x-1.0 and Potx-6.x-1.0 (which signifies that the development code was quite stable for some time now) and wandered to implement new features for the 2.0 versions of the modules.

By Gábor Hojtsy , 14 November, 2007

Close to a year ago, Drupal 5 was released with a basic installer which makes new site setups easier, but it was still just the beginning. The real power as we thought was in contributed install profiles which allow you to set up different site types with ease.

By Gábor Hojtsy , 4 November, 2007

Due to the Microsoft event, I had no time yet to blog about the very first Hungarian Drupal User Group event, which took place in Szeged late last week, and was actually organized by the Belgian living in Hungary: Kristof Van Tomme. He has a very good sense of selecting what makes a fun event.

By Gábor Hojtsy , 4 November, 2007

Microsoft Open SourceA few weeks ago, I received a surprise invite from the Hungarian Microsoft office to an event in Redmond, WA, which turned out to be due to my strong involvement with the Hungarian PHP community, but was also luckily connected to my Drupal 6 work. I was lucky to be able to set aside the required days for the so-called Web Development Technology Summit, which seemed to evolve around PHP people and Microsoft technologies. Interesting mix!

By Gábor Hojtsy , 21 October, 2007

Image removed.Our localization tools and approach help us a lot in making the Drupal interface better, but we did not make use of these great features so far. I hope to involve you in making Drupal 6 even better with two simple ideas, which only require very simple tools, so anyone can contribute.

By Gábor Hojtsy , 18 October, 2007

Some time ago, Szilveszter Farkas approached me to be one of the presenters of the Free Software Nights meetings, of which the first event happened to be yesterday in Nyitott műhely in Budapest. I was talking about the Drupal history, the community and business environment. But it also turned out early this week that I am going to help out with the Drupal security releases, which also happened to be yesterday evening (my local time). 

By Gábor Hojtsy , 16 October, 2007

Today I started to rehearse for my role in our Hair musical performance, which is planned for around May 2008. Although I just had some singing preparation today with our professional music teacher, I am excited already. Being an amateur actor and then an amateur musical singer by hobby for around 20 years now was one of the best things that happened to me in life. Being on stage is so rewarding, and because I am of the easygoing performer type, I get fun roles to play.

By Gábor Hojtsy , 10 October, 2007

As a maintainer of Drupal's locale module I try to find creative ways to help people localize their sites. Our focus in Drupal 6 was on more features for content translation and interface translation imports, while the built-in locale interface was nearly untouched. We even complicated it a bit with the textgroups feature which might or might not get used by contributed modules at the end. 

In a previous post, I announced the new localization client module which strives to solve some of the problems with the built-in locale module translation interface by bringing an AJAX powered widget close to the site translator. While this module is a very good looking way to solve the translation problem, it has two weaknesses:

  • You can only translate what you see on the site pages you browse by. Some text is only shown in emergency, when form values are not filled properly, when some backend data is not accessible, etc. Some text is even restricted to different user groups. So you can only translate the most visible parts of your site.
  • Closely connected, but slightly different issue is that you cannot translate strings with plural versions at once. If your page shows 3 years ago, you can translate @count years ago but not 1 year ago (the singular form) or @count[2] years ago and friends, which are used when the language in use has more then two plural forms. The Drupal database gives no clue in relating these for translation, so we cannot help users intending to translate all these at once.

Although locale module provides a more complete solution, allowing you to have a translation percentage overview as well as filter untranslated strings and work on them, you are still restricted to the same old, hard to use interface. If you'd like to improve on the interface issue, you can switch to use potx module to extract Gettext translation templates from your modules, then use some desktop Gettext editor which suits your taste and then import the translation back to your site. For most people though, the "favorite Gettext PO editor" question is like asking about the best time to go to the dentist. If we can do better, then why not?