A month or two ago, to be perfectly honest, I would have struggled to find Djibouti on a map. But for the last few weeks, I’ve been working on a project to launch one man’s campaign to become its President: and the site went live this week.
Djibouti is a former French colony, located on the Horn of Africa, slightly larger than Wales, population well under a million. It’s a key port for the region. It also shares a border with Somalia, sits across the water from Yemen, and is home to large French and American military bases. And it’s having a Presidential election next year. The current incumbent won a second term in 2005, with a mere 100% majority; and this year, they changed the constitution to allow him to stand for a third term.
Djiboutian businessman Abdourahman Boreh has now declared himself an opposition candidate for next April’s election; he is being represented by a London-based PR consultancy, MHP Communications, who brought me in to build a website for the campaign: not voter-facing as such, more as a resource to help establish his credentials internationally.
The site is built on WordPress: primarily pages rather than posts, at this early stage anyway. But significantly, it’s in two languages – English and French, with a long-term possibility of adding Arabic. It soon became clear that fudging the multilingual functionality wouldn’t work: so it’s the first time I’ve used WPML, the leading WordPress plugin for content in more than one language.
To be perfectly frank, WPML has been a bit hit-and-miss. When it works, it’s absolutely brilliant: but some things just haven’t worked at all. I’ve had to deploy various workarounds, sometimes going as far as coding whole new plugins or widgets. And some features, even relatively run-of-the-mill things, I’ve simply had to drop. It’s a great solution for multilingual content; but be prepared for some unpleasant side-effects.
The feature I’m most proud of is also language-related; but is something I’ve coded myself. We’re inviting people to leave comments on most pages; and we’re using a WPML meta-plugin to merge the comment threads between translations. In other words, if you leave a comment on the English version, it’ll also appear at the bottom of the French version. But what if you don’t speak the other language?
Thanks to Google’s translation API, and a bit of jQuery, you can click on a link under each comment to translate it – instantly, and in place – into English or French. Oh, and Arabic if you fancy that too. Try it on this page… but don’t use up my entire API usage limit, please. Obviously we’re in Google’s hands as regards the translations’ quality: the French is certainly pretty accurate, and the Arabic… well, it looks about right anyway.
I’m also quite pleased with the ‘world time’ thing in the top corner: not only is it useful as a clock – but by placing dots on the map, it’s a subtle way of reminding people where Djibouti actually is; and it underlines the strategic connections with France and the US (plus, by extension, the UN). The times are generated based on proper timezone data, and hence should remain accurate all year.
This time round, I’ve done all the design and coding myself. But I’ve had help with the configuration of the WordPress platform, from none other than Mike Little, the man who co-founded WordPress. Mike knows far more about server setups than I (hopefully!) ever will; he’s done a great job tweaking things just that little bit more than normal: so whilst it’s hardly military-level secure, it’s certainly more robust than your average WordPress site – with very little compromising on usability.
It’s been a challenging project, taking me into new territory in several respects, and all the more enjoyable for it. It’s only by doing projects like these, and pushing yourself out of your comfort zone, that you really improve as a designer / developer / producer.
So far, Puffbox has a 100% record with political candidates: every one we’ve ever worked for has been successful. We’ll see if this hot streak is maintained next April.
Responses
Well done on what is clearly an interesting project.
We long ago came to the conclusion that it’s actually better, if the client will allow it, to build separate websites for each language. Often there are structural reasons for doing this as each culture has different expectations.
However, in some countries people will use a language switcher in order to see if another language has better information. For that it’s better to use a plugin like WPML. But as you’ve discovered – these solutions are not without their problems!
You’ll have fun the day they decide to introduce Arabic ๐
It’s a great piece of work, Simon. Looks clean and elegant (presidential, you might even say), and clearly some very clever stuff under the hood.
I’m about to embark on my first multilingual WP project in the New Year (English, French and Danish) and I think I’m going to take the separate sites approach, but it’s interesting to hear your experiences with WPML.
You’re both very kind, gents.
Generally I’ve favoured the separate site approach in the past; although it always felt like a bit of a cop-out. And these days, with the multisite option, it’s much less bad a solution than it once was. But for all it’s issues, I wouldn’t say you should avoid WPML – quite the opposite. Just be prepared to hit the occasional brick wall.
When it comes to multi-lingual sites I would have thought Drupal would be a better option then WordPress? Especially if this is a site of pages instead of posts?
Is the main reason you go for wordpress due to your understanding of how wordpress works? Or was there a specific reason you picked wordpress over drupal?
Ah, the old WordPress v Drupal debate. ๐
I’ve written about this previously on the blog. Basically, there’s little to differentiate the two functionally these days: they can both be made to do the same things. The real difference is philosophical: Drupal offers infinite flexibility but can’t do anything out-of-the-box; whilst WordPress excels out-of-the-box, but can be extended as/when required.
Yes of course, I have a personal preference for WordPress: I’ve worked with it for years now, and can get it to do (more or less) whatever I want. But at least as important, and probably moreso, it has a good reputation among ordinary users. And in fact, that’s what attracted me to it in the first place. I was a WP user long before I ever coded for it.