Michal Čihař - Blog Archives for English

Too slow coder

Okay the release I promised will be delayed as I didn't manage to rewrite editor widget fast enough. Right now I have the editor itself working, it only needs some code cleanup and implement returning of value. After this "minor" thing will be implemented, you can expect new version, what will hopefully happen this week.

Multi language site with PHP and gettext

As announced yesterday, I started to translate my website to Czech. I take it mostly as experiment how to do such thing easily. I don't want ot maintain different pages for each language, so the logical step seemed to use gettext which I know for translating regullar applications.

Using gettext from PHP is quite easy. You can just follow documentation and you will get basic idea. Only tricky part was to set encoding so that messages are displayed correctly.

The whole magic that selects translation based on host name is few lines of PHP code:

$lang = 'en';
if (substr($_SERVER['HTTP_HOST'], 0, 3) == 'cz.') {
    $lang = 'cz';

    setlocale(LC_MESSAGES, 'cs_CZ.UTF-8');
    setlocale(LC_ALL, 'cs_CZ.UTF-8');
    bindtextdomain('website', 'locale');
    bind_textdomain_codeset('website', 'utf-8');
    textdomain('website');
    $_SERVER['HTTP_HOST'] = substr($_SERVER['HTTP_HOST'], 3);
}

You can see that is't just locales and gettext initialisation and cutting host name so that rest of code doesn't have to deal both possibilities.

The hardest work is to make all PHP pages use gettext instead of plain text constants and translate them. I will probably never convert whole site, but it is not needed and only parts can be translated using this approach without any additional effort.

Browser incompatibilities

Today I looked at menu on top of Wammu pages in MSIE and it was displayed completely differently than in Firefox. So another CSS hacking session had to begin to fix the menu look.

Fortunately I found ies4linux which easilly installed MSIE on my Linux computer so that I can test the beast without searching for some Windows installation.

Anyway now it looks almost same in both browsers (there are some minor glitches in MSIE which I'm going to ignore).

Started Czech translation of website

Today I finally setup gettext and started to convert some page to make use of it. Currently only Wammu page contains translated parts, but I will try to improve it in future as time permits.

Translation will only affect content of main domain, other subdomains as this blog or phpMyAdmin demo will remain in English.

Site troubles

I was few days offline and it looks like it was ideal situation to apply Murphys law and break thinks on my website. Bug tracker was not able to log you in or if you managed this step, you could not post anything. This issue seems to be caused by some bug in lighttpd which I'm not able to reproduce on my devel machine (most probably because of it is 32-bit and server is 64-bit).

phpMyAdmin demo server didn't work at all because somebody hardly break mysql database and my restore scripts didn't properly handle this situation.

Right now everything should be back working, please report if there are any other issues remaining.

I hate Connex

Connex (yes, their website is broken) is one of companies handling public transport in Prague. They hadle only lines on outskirt of city, centre is handled by Prague Public Transit Co. Inc..

The largest difference between both is:

  1. Connex has half of busses very old and sometimes it looks like they will never reach destination.
  2. Connex never goes on time. Yesterday busses here went exactly between times specified in time table, today I missed the bus because it went several minutes sooner than it should.

Why the hell do such company still have license for public transport?

Again fork of cdrtools?

This issue has arised already for many times (I remember it from times I worked for SUSE and there were some problems with unmodificable source parts), but this time it seems really serious. Current problem is in CDDL being incomaptible with GNU GPL while both are being used for cdrecord code. I again have to say I don't uderstand Jörgs behaviour.

Debian has replaced cdrtools with for of it called cdrkit. So keep in mind that you will have to use wodim instead of cdrecord in near future.

Wammu 0.15

Wammu 0.15 has been just released. New features:

  • Language selection for Windows (based on GTK+ 2 ISS code).
  • Finnish translation from rosetta.
  • Searching can be done plaintext and not only regexp.
  • Phone number matching now works even for national numbers.
  • Fixed usability with inveresed themes.