Does ggl.org need another distribution?

I’ve been thinking about adding a fourth GNU/Linux distribution to the list of recommended distributions on getgnulinux.org.

One of the reasons for this is because the distributions currently recommended (Ubuntu, Fedora and gNewSense) all use the GNOME desktop environment by default. Some people might not like the simplistic GNOME desktop and may prefer a fancier desktop environment like KDE. Personally, I would like to also see a Linux distribution with KDE as its default desktop environment so people can see a variety in desktop environments as well when browsing the screenshots. Maybe this will get even more people interested in GNU/Linux. It’s not all about the freedom; the eye wants something too.

Personally, I think openSUSE belongs in that list as well. It perfectly fits the description of a “beginner-friendly distribution” and it’s been around for quite some time. But what do you think?

Fresh GNU/Linux screenshots

The out-dated screenshots on getgnulinux.org have been replaced by new ones. GGL.org now features screenshots of Ubuntu 10.10, Fedora 15, and gNewSense 2.3. I first installed all three distributions on the latest VirtualBox. It needed to be the latest VirtualBox because it easily enables desktop effects and has support for GNOME Shell. This means I can now show off the GNU/Linux desktop with Compiz and such enabled.

The screenshots page has been updated as well; it now uses FancyBox for displaying screenshots in a Mac-style “lightbox” that floats above the page. Sweeeet! See it in action here.

Translations imported

The language files from the GLM svn repository have finally been imported into Launchpad Translations. You can see the progress of each language with the Translation overview on Launchpad (click on “View all languages”).

Translation progressThe translation files had been in the GGL bzr repository for some time now, but they weren’t being imported by Launchpad. In order for the translation files to be automatically imported, one must follow the Import policy. This policy describes the following rules when uploading translation files:

  • The file must be in GNU gettext .po format.
  • Translation files should be in the same directory as the template to which they relate.
  • The translation files should be named for the appropriate language code: e.g. pt_BR.po for Portugese as spoken in Brazil or fr.po for French as spoken in France. Launchpad only accepts languages that have an ISO 639 code.

The second rule was a problem. PHP looks in the folder `locale/xx_XX/LC_MESSAGES/` for language files and this can’t be changed. Here `locale` is the directory for storing language files, `xx_XX` is the appropriate language code, and `x.mo` is the compiled .po file. At first I put the .po and .mo file of a language in the directory `locale/xx_XX/LC_MESSAGES/`. As a result, Launchpad could find the language files, but could not import them.

After some asking around on the #launchpad IRC channel I finally found the solution. As PHP only requires the compiled language files (*.mo) to be in the `locale/xx_XX/LC_MESSAGES/` directory, I moved the template file (getgnulinux.pot) and all language files (*.po) to a directory `locale/getgnulinux/`. I also changed the PHP code so that the language files are named for the appropriate ISO 639 language code. After these changes, translations would still work (PHP still has access to the .mo files) and Launchpad could now import the translation files because all three rules are met.