Now your sites hosted at Branchable can be translated into multiple languages. The translations are stored using standard PO files, which makes it easy for translators to use their normal tools to update them.

This is thanks to Ikiwiki's excellent po plugin written by intrigeri. We've fixed it to be configurable via your site's Setup page, and tweaked Branchable so it will Just Work. Getting this kind of advanced stuff working can take some tweaking; Branchable takes care of that kind of thing for you.

Make a translated site today!


I tried the po plug-in like this: (intentionally a plain address -- specific to my site)

master language (non-PO files)
slave languages (translated via PO files) format: ll|Langname
PageSpec controlling which pages are translatable
internal linking behavior (default/current/negotiated)

My root is now a directory listing, and the pages don't look right. For example, index.en has just 1 language link; others have 2 or none.

The index page has both language links, but also lists the year once for each language:

* 2010

I'm saying this in a comment on the feature announcement so as to warn people that it's apparently easy to hose your site by trying this feature.

Comment by merriam Fri Sep 10 23:51:53 2010

Hi merriam,

I had a similar problem (with a site not on Branchable).

I just branched your site to propose a possible solution:

I think that I will delete it in a couple of days. Sorry for not posting a patch directly. I am a bit clumsy with Markdown this night. But if the solution is good, I hope it will be findable as a commit on your side.

-- Charles

Comment by plessy Sat Sep 11 15:33:35 2010

merriam, sorry for the mess there. Existing sites were missing an apache configuration tweak that was made for new sites. I've fixed that up for all sites and yours works now.

pessy, that is a good fix for the problem that normally with a translated site, a blog will pick up translations and include them in the feed as if they were regular posts. In case it goes away, your patch is to add "and !page(./posts/*.??)" to the PageSpec. I might do that to ikiwiki's default blog to avoid the problem.

Comment by joey Sat Sep 11 16:43:21 2010

Actually a better fix than plessy's approach is to add this handy thing to the PageSpec: "and currentlang()"

That way, the main (ie, English) page will show only posts in English, while a translation will show only the translated versions of the posts.

I've branched jopotest to demo that approach.

Comment by joey Sat Sep 11 17:03:32 2010