It's time for some ranting... And today, it'll be about Wordpress. Please prove me wrong — it'll probably mean I'm ignorant of some facts.
So Wordpress 1.5 has been out for a few weeks (months?), and apparently everyone has upgraded already. Some of you may notice that I haven't, yet (yes, still using 1.2.2 at the time of writing). 1.5 looks like a large regression. I'll focus mainly on localisation issues, because that's what bugs me at the moment, but I'll try to be even-handed and rant about other aspects too.
Wordpress is advertised as internationalised and localised. Fine. Now since I'm French, and I part of my target audience is French too, I'll want to have fr_FR.mo somewhere. Yet it's nowhere in sight. If I go to the website, I have to click on Docs, then on an obscure link called "Codex", which points me to a Wiki, of which one page contains a link to an external site, which in turn contains the URL of the fr_FR.mo I'm looking for. Rinse, repeat for all languages I need. For some reason, I had expected to just have the *.mo in the tarball, or at least not far from it. How foolish of me.
"For all languages I need", said I. Hah. Like Wordpress can manage several at once. Well, it can't. It doesn't contain the astonishingly difficult 40 lines of PHP to extract the language preferences from what the browser announces, and instead relies on a configuration item. Sorry guys, come visit me sometime — only don't expect to be able to read the pages.
Oh, except you English speakers shouldn't worry, actually. Only the poor French-only souls should. The pages are in English. (The admin interface isn't, but only I have access to it, so it doesn't count.) Sounds daft, but there you are: the two provided themes (classic and default) are not translated. Just a matter of editing the *.po and rebuilding the *.mo, right? Wrong. The themes are not internationalised. They contain lots of hardcoded English text.
Oh, they do call some functions though, which will call gettext on some strings. Like, they call the date-printing function with a hardcoded English-style date format (grrr), but the words will be translated. So instead of seeing 2005-04-23 as I specified in the admin interface, or "23 avril 2005" as I'd expect in French-style format, I'll see some horror like "avril 23rd, 2005". Blargh.
I've been ranting about all that for some time, and I even found the courage to try and help several times. Two or three times, I even survived half an hour of looking at the code, and really got into hacking. Joined #Wordpress, expressed my opinions, asked for directions on where I could find the .pot files, got yelled at. Reminded me of the time I submitted an obvious one-line patch for a real problem in 1.2 (got yelled at), then again against 1.2.1 (got yelled at), then *again against 1.2.2 (got yelled at).
Since I think I'm persona non grata on #Wordpress now, someone please tell me these problems are at least acknowledged (worked on would be even better). Otherwise I'll have to sort-of-fork WP — I sort of did it already, by importing it into tla and maintaining a -fixes-1.2 branch as well as a -local-1.2 branch, but that would be a depressing waste of time. Especially since they use SVN upstream. You'd think since they encourage people to customise their code locally (and ignore contributions), they'd use a versioning tool that makes it easy, maybe. Like, a distributed one. Well, I'd think so, at any rate.
Perhaps my standards are too high. They certainly seem too high for WP to meet them.
In my next rant, we'll discuss something else — I hope.